Partilhar via


Escrever, compilar e aplicar uma configuração

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

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

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

Requerimentos

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

Escrever a configuração

Uma Configuração 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 DSC na mesma configuração, certifique-se de colocar cada módulo em uma linha separada usando Import-DscResource. Isso é mais fácil de manter no controle do código-fonte e necessário ao trabalhar com DSC na Configuração de Estado do Azure.

 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 Nó 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 DSC seja aplicada a um nó, ela deve primeiro ser compilada em um arquivo MOF. Executar a configuração, como uma função, compilará um .mof arquivo para cada nó definido pelo Node bloco. Para executar a configuração, você precisa colocar o código-fonte do HelloWorld.ps1 script no escopo atual. Para obter mais informações, consulte about_Scripts.

Dot originar 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 você não precise dot-source.

. C:\Scripts\HelloWorld.ps1
HelloWorld

Isso gera a seguinte saída:

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 (neste caso, o computador local) chamando o cmdlet Start-DscConfiguration .

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

Use o código abaixo para executar o Start-DSCConfiguration cmdlet. Especifique o caminho do diretório onde o seu localhost.mof está armazenado para o parâmetro Path . O Start-DSCConfiguration cmdlet examina o diretório especificado para todos os <computername>.mof arquivos. 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 criará 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, e -Verbose ambos são parâmetros opcionais.

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

Testar a configuração

Quando o Start-DSCConfiguration cmdlet estiver concluído, você 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ó é atualmente compatível 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 pela sua Configuração. 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 recentemente.

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

Próximos passos