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.
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