Compartilhar via


DevOps – Powershell DSC – Lista de Features do Windows e Exemplo de Implantação

Introdução

Para conhecer mais sobre o Powershell DSC, veja o artigo do Portal do TechNet Wiki.

O que é o Powershell DSC?

Há também mais materiais disponíveis no link do Portal do TechNet Wiki:

TechNet Wiki – Artigos sobre Powershell DSC

Listando e Identificando as Features

Para facilitar a implantação de uma feature via Powershell DSC, você pode listar as mesmas para saber como colocar o nome no script de geração do arquivo MOF.

Para isso, digite no prompt do Powershell digite o comando: Get-WindowsFeature

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb169.png?w=244&h=19

Ele irá trazer uma lista de recursos disponiveis no Windows.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb170.png?w=244&h=127

Exemplo de Implantação

Vamos realizar um exemplo básico de implantação via Powershell DSC. Na lista exibida anteriormente, iremos implantar a feature de DNS.

Observe na tela que ela está disponível, porém não instalada.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb171.png?w=244&h=18

Digitando no search do Windows, observamos que não há nada sobre DNS no servidor.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb172.png?w=244&h=170

Sendo assim criamos um script para a geração do arquivo MOF.

Maiores informações, acesse o artigo do Portal do TechNet: DevOps – Powershell DSC – Criando um Arquivo MOF

O script terá esse formato abaixo, onde o nome da feature está definido conforme o Print-Screen.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb173.png?w=244&h=80

O código do arquivo é:

Configuration ConfDNSDSC
{
  param ($MachineName)

*  Node $MachineName
  {
    #Implantar a Role de DNS
    WindowsFeature DNS
    {
      Ensure = “Present”
      Name = “DNS”
    }*

*   
  }
}*

Salve em PS1 e execute o mesmo.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb174.png?w=244&h=21

Em seguida, gere o arquivo MOF, usando o comando abaixo.

Obs.: Qualquer dúvida que tenha sobre a estrutura e comandos do Powershell DSC, veja esse artigo do TechNet Wiki: DevOps – Exemplo de Implantação de Função Web Server (Feature do IIS) com o Powershell DSC

ConfDNSDSC –MachineName “servdevopsapp”

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb175.png?w=244&h=99

Depois do arquivo MOF gerado, execute o comando via Powershell para o arquivo ser consumido.

Start-DscConfiguration –Path .\ConfDNSDSC –Wait –Verbose

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb176.png?w=244&h=23

Observe a execução do mesmo.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb177.png?w=244&h=33

Veja que gerou um alerta sobre a configuração de IP dinamico, onde o DNS necessita que o IP seje fixo. Porém continuou sem grandes problemas.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb178.png?w=244&h=23

A implantação foi feita com sucesso.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb179.png?w=244&h=38

Rodando novamente o comando Get-WindowsFeature, observe que a feature agora está instalada.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb180.png?w=244&h=19

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb181.png?w=244&h=10

Inclusive binários foram implementados.

https://qualidadeeti.files.wordpress.com/2015/01/image_thumb182.png?w=244&h=101

Isso é possível ser feito com qualquer feature do Windows, e também outros produtos de terceiros usando Modulos Adicionais disponíveis no site do time de produtos do Powershell.

Maiores Informações

http://technet.microsoft.com/en-us/library/dn249912.aspx