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"

(https://go.microsoft.com/fwlink/?LinkId=311940)