Usar a DSC para configurar o Windows Server

Concluído

Um dos outros administradores de servidor da Contoso tem experiência com o Windows PowerShell e sugeriu fazer uma investigação com a DSC do PowerShell para configurar seus computadores Windows Server que foram implantados recentemente. Você aprendeu que é possível implementar o gerenciamento de configuração declarativa com a DSC por meio de uma combinação de scripts do PowerShell e de 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 é a DSC?

A DSC é uma plataforma de gerenciamento baseada no PowerShell que pode ser usada no gerenciamento de seus servidores e da infraestrutura de TI relacionada. Ela 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, a DSC aplica a configuração conforme definido. Isso garante que o recurso de destino, que é um servidor neste caso, esteja no estado definido. O LCM (Gerenciador de Configurações Local) é responsável por manter essas configurações.
Recursos Contêm o código que define e aplica o estado de configuração desejado do recurso.
LCM É o mecanismo que a DSC usa para aplicar as configurações. O LCM verifica periodicamente o estado do sistema e, quando necessário, chama o código nos recursos para reaplicar o estado desejado.

Observação

Nenhuma instalação é necessária para usar a DSC, pois a DSC do PowerShell está incluída no Windows.

A DSC baseada em Windows depende amplamente do componente LCM. Esse componente atua 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 suportadas dos sistemas operacionais Windows.

Ele é responsável por:

  • Coordenar a implementação de configurações definidas em scripts de DSC
  • Monitorar o status contínuo dessas configurações
  • Atualizar o estado de um computador para corresponder ao estado desejado

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

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

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

Mode Descrição
Push 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.
Recepção 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 seja possível configurar um Windows Server como um servidor de pull, você também pode usar a Desired State Configuration da Automação do Azure.

Requisitos de DSC com Windows

Seu ambiente deve atender a vários requisitos para usar a DSC com o Windows. Eles 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 WinRM (Gerenciamento Remoto do Windows) deve estar habilitado nos 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 a DSC. Depois de criar e compilar sua configuração, você a atribui aos computadores e eles a recebem.

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. Neste 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 a 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 cmdlet Start-DscConfiguration.

Importante

Configure o Windows para a comunicação remota do PowerShell a fim de permitir que a DSC seja executada, mesmo se você estiver executando uma configuração de localhost.

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

Start-DscConfiguration .\IISInstall

Dica

Verifique se a configuração foi bem-sucedida executando o cmdlet Get-DscConfigurationStatus.