Usar a DSC para configurar o Windows Server

Concluído

Um dos outros administradores de servidores da Contoso é experiente com o Windows PowerShell e sugeriu que você investigue usando o DSC do PowerShell para configurar seus computadores Windows Server recém-implantados. Você aprenderá que, com o DSC, você pode implementar o gerenciamento de configuração declarativa por meio de uma combinação de scripts do PowerShell e recursos do sistema operacional. Você decide investigar mais.

Observação

Uma linguagem de programação declarativa separa a intenção (o que você deseja fazer) da execução (como deseja fazer isso).

O que é DSC?

O DSC é uma plataforma de gerenciamento baseada no PowerShell que você pode usar para gerenciar seus servidores e a infraestrutura de TI relacionada. O DSC consiste em três componentes, descritos na tabela a seguir.

Componente Descrição
Configurações Scripts declarativos do PowerShell que configuram e definem seus recursos. Quando a configuração é executada, o DSC aplica a configuração conforme definido. Isso garante que o recurso de destino, nesse caso, um servidor, esteja no estado definido. É o LCM (Gerenciador de Configurações Local) que aplica e mantém essas configurações.
Recursos Contenha o código que define e aplica o estado de configuração desejado do recurso.
LCM É o mecanismo que o DSC usa para aplicar as configurações. Periodicamente, o LCM verifica o estado do sistema e, quando necessário, chama o código nos recursos do sistema para reaplicar o estado desejado.

Observação

Você não precisa instalar nada para usar o DSC; O DSC do PowerShell está incluído no Windows.

O DSC baseado no Windows depende extensivamente do componente LCM. Esse componente serve como o mecanismo de execução dos scripts de DSC do Windows PowerShell.

Observação

O LCM é parte integrante de todas as versões atualmente compatíveis com sistemas operacionais Windows.

O LCM é responsável por:

  • Coordenando a implementação de configurações definidas em scripts DSC
  • Monitorando o status contínuo dessas configurações
  • Atualizando o estado de um computador para corresponder a um estado desejado

Sempre que o LCM é executado, ele realiza as seguintes etapas:

  1. Obter: recupera o estado atual do computador.
  2. Teste: compara o estado atual do computador com o estado desejado usando um script DSC compilado ( um arquivo .mof).
  3. Set: atualiza a configuração do computador para corresponder ao estado desejado descrito no arquivo .mof.

Você pode implantar a configuração da DSC no modo de push ou no modo de pull, conforme descrito na tabela a seguir.

Modo Descrição
Pressionar Neste modo, você envia manualmente ou por pushas configurações desejadas para um ou mais computadores gerenciados. O componente LCM garante que o estado em cada computador gerenciado corresponda ao especificado pela configuração.
Puxar Neste modo, um servidor de pull contém as informações de configuração. O componente LCM em cada computador gerenciado pesquisa esse servidor periodicamente (o padrão são intervalos de 15 minutos) para obter os detalhes de configuração mais recentes. O servidor de pull envia os detalhes sobre alterações na configuração como resposta a cada computador gerenciado.

Dica

Embora você possa configurar um Windows Server como um servidor pull, você também pode usar a Configuração de Estado Desejado da Automação do Azure.

Requisitos para DSC com Windows

Há vários requisitos que seu ambiente deve atender para usar a DSC com o Windows. Estes são:

  • Sistema Operacional. Os computadores gerenciados devem estar executando o Windows 8.1 ou mais recente ou o Windows Server 2012 R2 ou mais recente.
  • Gerenciamento Remoto do Windows. O Gerenciamento Remoto do Windows (WinRM) deve ser habilitado em computadores gerenciados.

Com a DSC, você pode definir o estado desejado de:

  • Um sistema operacional
  • Um aplicativo

Trabalhando com scripts

Você pode usar um script para definir seu DSC. Depois de criar e compilar sua configuração, você pode atribuí-la a computadores, que recebem essa configuração.

Criar um script

A implementação de DSC geralmente começa com a criação de um script de configuração (.ps1) que descreve o estado desejado. O exemplo a seguir descreve uma configuração simples. Neste caso, o script verifica a presença do IIS (serviço de informações da Internet) e o instala, se necessário.

configuration IISInstall
{
    # Import the required module.
    Import-DscResource -ModuleName PsDesiredStateConfiguration
    node "localhost"
    {
        WindowsFeature IIS
        {
            Ensure = "Present"
            Name = "Web-Server"
        }
    }
}

Depois de criar o script, salve-o. Nesse caso, salve-o como IISInstall.ps1.

Compilar a configuração

Depois de criar um script de configuração, você deve compilá-lo. A compilação gera um ou mais arquivos .mof que contêm configurações aplicáveis aos nós de destino. Para compilar um script, em um console do PowerShell, localize a pasta em que você salvou sua configuração (arquivo de script) e execute os seguintes comandos para compilar a configuração em um arquivo MOF:

.\IISInstall.ps1
IISInstall

Aplicar a configuração

A próxima etapa é aplicar a configuração. Faça isso executando o Start-DscConfiguration cmdlet.

Importante

Para que o DSC possa ser executado, você deve configurar o Windows para comunicação remota do PowerShell, mesmo quando estiver executando uma configuração de localhost.

Por exemplo, em um console do PowerShell, navegue até a pasta em que a configuração é salva e execute o seguinte comando do PowerShell:

Start-DscConfiguration .\IISInstall

Dica

Você pode verificar o êxito da configuração executando o Get-DscConfigurationStatus cmdlet.