Início Rápido - Criar um site com Desired State Configuration (DSC)
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. O exemplo que vamos utilizar garante que um servidor tem a Web-Server
funcionalidade (IIS) ativada e que o conteúdo de um site "Hello World" simples está presente no inetpub\wwwroot
diretório desse servidor.
Para obter uma descrição geral do que é o DSC e como funciona, veja Descrição Geral Desired State Configuration para Decisores.
Requisitos
Para executar este exemplo, precisará de um computador com Windows Server 2012 ou posterior e o PowerShell 4.0 ou posterior.
Escrever e colocar o ficheiro de index.htm
Em primeiro lugar, vamos criar o ficheiro HTML que iremos utilizar como o conteúdo do site.
Na pasta raiz, crie uma pasta com o nome test
.
Num editor de texto, escreva o seguinte texto:
<head></head>
<body>
<p>Hello World!</p>
</body>
Guarde esta opção como index.htm
na test
pasta que criou anteriormente.
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, escreva o seguinte:
Configuration WebsiteTest {
# Import the module that contains the resources we're using.
Import-DscResource -ModuleName PsDesiredStateConfiguration
# The Node statement specifies which targets this configuration will be applied to.
Node 'localhost' {
# The first resource block ensures that the Web-Server (IIS) feature is enabled.
WindowsFeature WebServer {
Ensure = "Present"
Name = "Web-Server"
}
# The second resource block ensures that the website content copied to the website root folder.
File WebsiteContent {
Ensure = 'Present'
SourcePath = 'c:\test\index.htm'
DestinationPath = 'c:\inetpub\wwwroot'
}
}
}
Guarde o ficheiro como WebsiteTest.ps1
.
Pode ver que se assemelha a uma função do PowerShell, com a adição da palavra-chave Configuração utilizada antes do nome da função.
O bloco Nó especifica o nó de destino a ser configurado. Neste caso, localhost
.
A configuração chama dois recursos, WindowsFeature e Ficheiro. 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. Para tal, execute a configuração como uma função. Numa consola do PowerShell, navegue para a mesma pasta onde guardou a configuração e execute os seguintes comandos para compilar a configuração num ficheiro MOF:
. .\WebsiteTest.ps1
WebsiteTest
Esta ação gera o seguinte resultado:
Directory: C:\ConfigurationTest\WebsiteTest
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/13/2017 5:20 PM 2746 localhost.mof
A primeira linha disponibiliza a função de configuração na consola do . A segunda linha executa a configuração. O resultado é que uma nova pasta com o nome WebsiteTest
é criada como uma subpasta da pasta atual. A WebsiteTest
pasta contém um ficheiro com o nome localhost.mof
. Este é o ficheiro que pode ser aplicado ao nó de destino.
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), que é 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.
Nota
Para permitir a execução do DSC, o Windows tem de ser configurado para receber comandos remotos do PowerShell, mesmo quando está a executar uma localhost
configuração. Para configurar facilmente o seu ambiente corretamente, basta executar Set-WsManQuickConfig -Force
num Terminal do PowerShell elevado.
Numa consola do PowerShell, navegue para a mesma pasta onde guardou a configuração e execute o seguinte comando:
Start-DscConfiguration .\WebsiteTest
Teste a configuração.
Pode chamar o cmdlet Get-DscConfigurationStatus para ver se a configuração foi bem-sucedida.
Também pode testar os resultados diretamente, neste caso, navegando para http://localhost/
num browser. Deverá ver a página HTML "Hello World" que criou como o primeiro passo neste exemplo.
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.