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. -Wait
e -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
- Saiba mais sobre as configurações do DSC nas configurações do DSC.
- Veja que recursos do DSC estão disponíveis e como criar recursos DSC personalizados em recursos do DSC.
- Localize as configurações e os recursos do DSC no Galeria do PowerShell.