O DSC (Desired State Configuration) é uma extensão do PowerShell que foi lançada com o Windows Server 2012 R2 e o Windows 8.1.
O DSC tem como principal função a automação através do Windows PowerShell 4.0
Ele ajuda os administradores a reduzir as tarefas repetitivas através da definição de configurações predefinidas usando cmdlets do PowerShell 4.0
Você define um padrão de configuração que será salvo em um arquivo MOF (Managed Object File) e esse padrão será usado como base para comparar ou fazer novas instalações.
Podemos usar o DSC em vários cenários como:
- Validar configurações aplicadas em um sistema.
- Instalar ou remover Roles ou Features
- Gerenciar usuários ou grupos baseados em uma configuração
- E muito mais…
O DSC deve ser instalado com Feature
Depende do :
- .NET FrameWork 4.5
- Windows Communication Foundation (WCF) Services
- WebServer IIS
Os Clientes devem executar ao menos o Windows 7 ou Windows Server 2008 R2 com Windows management FrameWork 4.0
A Instalação do DSC
Através do Server Manager em Add Roles and Features selecione Windows PowerShell Desired State Configuration
E clique em “Add Features” para a instalação dos requerimentos (.NET, Odata, WebServer…)
Basicamente o DSC funciona em dois modos PUSH e PULL
No Servidor configurado como Pull ele funciona como um repositório central das configurações padrões que você definir.
Em grandes implementações usamos o Pull pois os clientes podem “puxar” as configurações.
O segundo método é o método Push usado em implementações menores, um servidor central pode ser configurado para empurrar configurações DSC para os clientes.
As configurações são criadas automaticamente após a execução do script de configuração e possuem a extensão .MOF e ficarão armazenadas no direotório de execução,
Trabalhando com DSC
DSC funciona através de definições de configurações em scripts do PowerShell.
Esses scripts são organizados em blocos. basicamente temos 3 Blocos.
Blocos de configuração.
Blocos de identificação
Dentro dos blocos de configuração deve existir um bloco de identificação de um determinado nó. Esse nó é um computador na rede.
E as configurações serão aplicadas ou verificadas diretamente para os nós identificados..
Blocos de recursos
Dentro dos blocos identificadores de nó, podemos utilizar os blocos de recursos.
Blocos de recursos são utilizados para configurar recursos específicos. Estes podem ser configurado manualmente, ou você pode usar
vários recursos internos
O DSC vem com um conjunto de Recursos que podem ser usados na criação do padrão de configuração.
Provider
Descrição
Descompacta arquivos compactados em uma pasta ou caminho no nó de destino.
Gerencia variáveis de Sistema no nó de destino.
Gerencia arquivos ou diretórios no nó de destino.
Gerencia grupos locais no nó de destino.
Configuração de mensagens de LOG.
Instala e gerencia pacotes, tais como pacotes do Windows Installer e Setup.exe, no nó de destinos.
Configura processos do Windows em nós de destino.
Gerencia chaves do Registro e valores sobre os nós de destino.
Adiciona ou remove características e funções do Windows em nós de destino.
Executa blocos de script do Windows PowerShell em nós de destino.
Gerencia serviços em nós de destino.
Gerencia contas de usuários locais sobre nós de destino.
Um exemplo de uso de recurso
Depois de executar o script e em seguida chamar a função definida no script será criado um arquivo .MOF no mesmo diretório da execução.
Aplicando a definição com o DSC
Você pode aplicar a configuração usando o comando
1
Start-DscConfiguration –Path .\nomedobloco –Wait –Verbose
-Path pode ser tanto local com um caminho UNC.
Conclusão. Podemos usar o recurso do DSC para garantir uniformidade nas configurações de nossos ambientes. Facilitar as tarefas de uso repetitivos.
- Artigo migrado – 1665 acessos até a data 11/02/2016
Ótimo resumo Daniel, eu fiz o curso de Powershell DSC da MS Virtual Academy, ferramenta incrível!