Compartilhar via


Gravar, compilar e aplicar uma configuração

Aplica-se a: Windows PowerShell 4.0, Windows PowerShell 5.0

Este exercício explica como criar e aplicar uma configuração de DSC (Configuração de Estado Desejado) do início ao fim. No exemplo a seguir, você aprenderá a escrever e aplicar uma configuração muito simples. A configuração garantirá que um arquivo "HelloWorld.txt" exista em sua máquina local. Se você excluir o arquivo, o DSC o recriará na próxima vez que ele for atualizado.

Para obter uma visão geral do que é DSC e como ela funciona, consulte Visão geral da configuração de estado desejado para desenvolvedores.

Requirements

Para executar este exemplo, você precisará de um computador executando o PowerShell 4.0 ou posterior.

Escreva a configuração

Uma configuração de DSC é uma função especial do PowerShell que define como você deseja configurar um ou mais computadores de destino (nós).

No ISE do PowerShell ou em outro editor do PowerShell, digite o seguinte:

Configuration HelloWorld {

    # Import the module that contains the File resource.
    Import-DscResource -ModuleName PsDesiredStateConfiguration

    # The Node statement specifies which targets to compile MOF files for, when
    # this configuration is executed.
    Node 'localhost' {

        # The File resource can ensure the state of files, or copy them from a
        # source to a destination with persistent updates.
        File HelloWorld {
            DestinationPath = "C:\Temp\HelloWorld.txt"
            Ensure = "Present"
            Contents   = "Hello World from DSC!"
        }
    }
}

Importante

Em cenários mais avançados em que vários módulos precisam ser importados para que você possa trabalhar com muitos recursos de DSC na mesma configuração, certifique-se de colocar cada módulo em uma linha separada usando Import-DscResourceo . Isso é mais fácil de manter no controle do código-fonte e necessário ao trabalhar com DSC no Azure State Configuration.

 Configuration HelloWorld {

  # Import the module that contains the File resource.
  Import-DscResource -ModuleName PsDesiredStateConfiguration
  Import-DscResource -ModuleName xWebAdministration

Salve o arquivo como "HelloWorld.ps1".

Definir uma configuração é como definir uma função. O bloco Node especifica o nó de destino a ser configurado, neste caso localhost.

A configuração chama um recurso, o File recurso. Os recursos fazem o trabalho de garantir que o nó de destino esteja no estado definido pela configuração.

Compilar a configuração

Para que uma configuração de DSC seja aplicada a um nó, ela deve primeiro ser compilada em um arquivo MOF. A execução da configuração, como uma função, compilará um .mof arquivo para cada nó definido pelo Node bloco. Para executar a configuração, você precisa dotar o HelloWorld.ps1 script no escopo atual. Para obter mais informações, consulte about_Scripts.

Dotsource seu HelloWorld.ps1 script digitando o caminho onde você o armazenou, após o . (ponto, espaço). Você pode, então, executar sua configuração chamando-a como uma função. Você também pode invocar a função de configuração na parte inferior do script para que não precise fazer a origem do ponto.

. C:\Scripts\HelloWorld.ps1
HelloWorld

Isso gerará os seguintes resultados:

Directory: C:\Scripts\HelloWorld


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        3/13/2017   5:20 PM           2746 localhost.mof

Aplicar a configuração

Agora que você tem o MOF compilado, pode aplicar a configuração ao nó de destino (nesse caso, o computador local) chamando o cmdlet Start-DscConfiguration .

O Start-DscConfiguration cmdlet informa ao LCM (Gerenciador de Configurações Local), o mecanismo do DSC, para aplicar a configuração. O LCM faz o trabalho de chamar os recursos de DSC para aplicar a configuração.

Use o código abaixo para executar o Start-DSCConfiguration cmdlet. Especifique o caminho do diretório em que o está localhost.mof armazenado para o parâmetro Path . O Start-DSCConfiguration cmdlet examina o diretório especificado em busca de arquivos <computername>.mof . O Start-DSCConfiguration cmdlet tenta aplicar cada .mof arquivo encontrado ao computername especificado pelo nome do arquivo ("localhost", "server01", "dc-02" etc.).

Observação

Se o -Wait parâmetro não for especificado, Start-DSCConfiguration cria um trabalho em segundo plano para executar a operação. Especificar o -Verbose parâmetro permite que você observe a saída detalhada da operação. -Wait -Verbose e ambos são parâmetros opcionais.

Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait

Testar a configuração

Depois que o Start-DSCConfiguration cmdlet for concluído, você deverá ver um HelloWorld.txt arquivo no local especificado. Você pode verificar o conteúdo com o cmdlet Get-Content .

Você também pode testar o status atual usando Test-DSCConfiguration.

A saída deve ser True se o nó estiver em conformidade com a configuração aplicada.

Test-DSCConfiguration
True
Get-Content -Path C:\Temp\HelloWorld.txt
Hello World from DSC!

Reaplicando a configuração

Para ver sua configuração ser aplicada novamente, você pode remover o arquivo de texto criado por sua configuração. Use o Start-DSCConfiguration cmdlet com o -UseExisting parâmetro. O -UseExisting parâmetro instrui Start-DSCConfiguration a reaplicar o arquivo "current.mof", que representa a configuração aplicada com êxito mais recente.

Remove-Item -Path C:\Temp\HelloWorld.txt

Próximas etapas