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 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