about_DesiredStateConfiguration
Aplica-se a: Windows PowerShell 4.0, Windows PowerShell 5.0
TÓPICO
about_Desired_State_Configuration
DESCRIÇÃO BREVE
Fornece uma breve introdução do recurso DSC (Configuração de Estado Desejado) Windows PowerShell®.
DESCRIÇÃO LONGA
DSC é uma plataforma de gerenciamento no Windows PowerShell. Ela permite a implantação e o gerenciamento de dados de configuração de serviços de software e do ambiente no qual esses serviços são executados. A DSC fornece um conjunto de extensões de linguagem do Windows PowerShell, novos cmdlets e recursos que você pode usar para especificar declarativamente como você deseja que o estado do seu ambiente de software seja configurado.
A DSC foi introduzida no Windows PowerShell 4.0.
Para obter informações detalhadas sobre a DSC, consulte "Configuração de Estado Desejado do Windows PowerShell" na biblioteca do TechNet em https://go.microsoft.com/fwlink/?LinkId=311940.
USANDO A DSC
Para usar a DSC para configurar seu ambiente, primeiro defina um bloco de script do Windows PowerShell usando a palavra-chave Configuração, seguida por um identificador, que por sua vez é seguido pelo par de chaves que delimita o bloco. Dentro do bloco de configuração, você pode definir blocos de nó que especificam o estado de configuração desejado para cada nó (computador) no ambiente. Um bloco de nó começa com a palavra-chave Nó, seguida do nome do computador de destino, que pode ser uma variável. O nome do computador é seguido pelas chaves que delimitam o bloco de nó. Dentro do bloco de nó, é possível definir blocos de recurso para configurar recursos específicos. Um bloco de recurso começa com o nome do tipo de recurso, seguido pelo identificador que você deseja especificar para esse bloco, seguido por chaves que delimitam o bloco, conforme mostrado no exemplo a seguir.
Configuration MyWebConfig
{
# Parameters are optional
param ($MachineName, $WebsiteFilePath)
# A Configuration block can have one or more Node blocks
Node $MachineName
{
# Next, specify one or more resource blocks
# WindowsFeature is one of the resources you can use in a Node block
# This example ensures the Web Server (IIS) role is installed
WindowsFeature IIS
{
# To ensure that the role is not installed, set Ensure to \"Absent\"
Ensure = "Present"
Name = "Web-Server" # Use the Name property from Get-WindowsFeature
}
# You can use the File resource to create files and folders
# \"WebDirectory\" is the name you want to use to refer to this instance
File WebDirectory
{
Ensure = "Present" # You can also set Ensure to "Absent“
Type = "Directory“ # Default is “File”
Recurse = $true
SourcePath = $WebsiteFilePath
DestinationPath = "C:\inetpub\wwwroot"
# Ensure that the IIS block is successfully run first before
# configuring this resource
Requires = "[WindowsFeature]IIS" # Use Requires for dependencies
}
}
}
Para criar uma configuração, invoque o bloco Configuração da mesma forma que você invocaria uma função Windows PowerShell, passando qualquer parâmetro esperado que você tenha definido (dois no exemplo acima). Por exemplo, neste caso:
MyWebConfig -MachineName "TestMachine" –WebsiteFilePath "\\filesrv\WebFiles" `
-OutputPath "C:\Windows\system32\temp" # OutputPath is optional
Isso gera um arquivo MOF por nó no caminho especificado. Esses arquivos MOF especificam as configurações desejadas para cada nó. Em seguida, use o seguinte cmdlet para analisar os arquivos de configuração de MOF, envie a configuração correspondente para cada nó e aplique essas configurações.
Start-DscConfiguration –Verbose -Wait -Path "C:\Windows\system32\temp"
USANDO A DSC PARA MANTER O ESTADO DE CONFIGURAÇÃO
Com a DSC, a configuração é idempotente. Isso significa que se você usar a DSC para aplicar a mesma configuração mais de uma vez, o estado de configuração resultante sempre será o mesmo. Por isso, se você suspeitar de que todos os nós em seu ambiente podem ter se afastado do estado desejado de configuração, você pode aplicar a mesma configuração de DSC novamente para colocá-los de volta ao estado desejado. Você não precisa modificar o script de configuração para resolver apenas aqueles recursos cujo estado tenha se afastado do estado desejado.
O exemplo a seguir mostra como você pode verificar se o estado real da configuração em um determinado nó tem se afastado da última configuração da DSC imposta no nó. Neste exemplo, estamos verificando a configuração do computador local.
$session = New-CimSession -ComputerName "localhost"
Test-DscConfiguration -CimSession $session
RECURSOS INTERNOS DA DSC
A DSC fornece o seguinte conjunto de recursos internos que você pode usar em um script de configuração: Registro, Script, Arquivamento, Arquivo, WindowsFeature, Pacote, Ambiente, Grupo, Usuário, Registro, Serviço e WindowsProcess. O exemplo anterior demonstra como usar os recursos de Arquivo e WindowsFeature. Para ver todas as propriedades que você pode usar com um determinado recurso, coloque o cursor sobre a palavra-chave do recurso (por exemplo, Arquivo) dentro do seu script de configuração no Windows PowerShell ISE, mantenha pressionada a tecla CTRL e pressione a BARRA DE ESPAÇOS.
CONSULTE TAMBÉM
"Configuração do Estado Desejado do Windows PowerShell"