Partilhar via


Escrever, 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 Desired State Configuration (DSC) do início ao fim. No exemplo seguinte, irá aprender a escrever e aplicar uma Configuração muito simples. A Configuração irá garantir que existe um ficheiro "HelloWorld.txt" no seu computador local. Se eliminar o ficheiro, o DSC irá recriá-lo da próxima vez que for atualizado.

Para obter uma descrição geral do que é o DSC e como funciona, veja Descrição Geral do Desired State Configuration para Programadores.

Requisitos

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

Escrever a configuração

Uma Configuração do DSC é uma função especial do PowerShell que define como pretende configurar um ou mais computadores de destino (Nós).

No ISE do PowerShell ou noutro editor do PowerShell, escreva 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 de ser importados para que possa trabalhar com muitos Recursos do DSC na mesma configuração, certifique-se de que coloca cada módulo numa linha separada com Import-DscResource. Isto é mais fácil de manter no controlo de origem e necessário ao trabalhar com o DSC no Azure State Configuration.

 Configuration HelloWorld {

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

Guarde o ficheiro 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 está no estado definido pela configuração.

Compilar a configuração

Para que uma configuração de DSC seja aplicada a um nó, primeiro tem de ser compilada num ficheiro MOF. Executar a configuração, como uma função, compilará um .mof ficheiro para cada Nó definido pelo Node bloco. Para executar a configuração, tem de criarHelloWorld.ps1 pontos no seu script no âmbito atual. Para obter mais informações, veja about_Scripts.

Não origem o HelloWorld.ps1 script ao escrever no caminho onde o armazenou, depois do . (ponto, espaço). Em seguida, pode executar a configuração ao chamá-la como uma função. Também pode invocar a função de configuração na parte inferior do script para que não precise de fazer a origem de pontos.

. C:\Scripts\HelloWorld.ps1
HelloWorld

Esta ação gera o seguinte resultado:

Directory: C:\Scripts\HelloWorld


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

Aplicar a configuração

Agora que já tem o MOF compilado, pode aplicar a configuração ao nó de destino (neste caso, ao computador local) ao chamar o cmdlet Start-DscConfiguration .

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

Utilize o código abaixo para executar o Start-DSCConfiguration cmdlet . Especifique o caminho do diretório onde localhost.mof está armazenado para o parâmetro Path . O Start-DSCConfiguration cmdlet analisa o diretório especificado para quaisquer <computername>.mof ficheiros. O Start-DSCConfiguration cmdlet tenta aplicar cada .mof ficheiro que encontra ao computername especificado pelo nome de ficheiro ("localhost", "server01", "dc-02", etc.).

Nota

Se o -Wait parâmetro não for especificado, Start-DSCConfiguration cria uma tarefa em segundo plano para executar a operação. Especificar o -Verbose parâmetro permite-lhe watch a saída Verbosa da operação. -Waite -Verbose são ambos parâmetros opcionais.

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

Teste a configuração.

Assim que o Start-DSCConfiguration cmdlet estiver concluído, deverá ver um HelloWorld.txt ficheiro na localização que especificou. Pode verificar o conteúdo com o cmdlet Get-Content .

Também pode testar o estado atual com Test-DSCConfiguration.

O resultado deve ser True se o Nó estiver atualmente em conformidade com a Configuração aplicada.

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

Voltar a aplicar a configuração

Para ver a configuração ser aplicada novamente, pode remover o ficheiro de texto criado pela configuração. Utilize o Start-DSCConfiguration cmdlet com o -UseExisting parâmetro . O -UseExisting parâmetro indica Start-DSCConfiguration para voltar a aplicar o ficheiro "current.mof", que representa a configuração aplicada mais recentemente com êxito.

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

Passos seguintes