Compartilhar via


about_DesiredStateConfiguration

DESCRIÇÃO BREVE

Fornece uma breve introdução ao recurso DSC (Configuração de Estado Desejado) do PowerShell.

DESCRIÇÃO LONGA

A DSC é uma plataforma de gerenciamento no PowerShell que permite implantar e gerenciar dados de configuração para serviços de software e gerenciar o ambiente no qual esses serviços são executados.

A DSC fornece um conjunto de extensões de linguagem do PowerShell, novos cmdlets e recursos que você pode usar para especificar declarativamente como deseja que o estado do seu ambiente de software seja configurado. Também fornece um meio para manter e gerenciar as configurações existentes.

A DSC é introduzida no PowerShell 4.0.

Para obter informações detalhadas sobre a DSC, consulte Visão geral da configuração de estado desejado do PowerShell na Biblioteca TechNet.

DESENVOLVENDO RECURSOS DE DSC COM CLASSES

A partir do PowerShell 5.0, você pode desenvolver recursos de DSC usando classes. Para obter mais informações, consulte about_Classes e Escrevendo um recurso DSC personalizado com classes do PowerShell no Microsoft TechNet.

USANDO O DSC

Para usar a DSC para configurar seu ambiente, primeiro defina um bloco de script do PowerShell usando a palavra-chave Configuration, seguida por um identificador, que por sua vez é seguido pelo par de chaves que delimitam o bloco. Dentro do bloco de configuração, você pode definir blocos de nós que especificam o estado de configuração desejado para cada nó (computador) no ambiente. Um bloco de nó começa com a palavra-chave Node, seguida pelo nome do computador de destino, que pode ser uma variável. Depois do nome do computador, vêm as chaves que delimitam o bloco do nó. Dentro do bloco de nós, você pode definir blocos de recursos para configurar recursos específicos. Um bloco de recursos começa com o nome do tipo do recurso, seguido pelo identificador que você deseja especificar para esse bloco, seguido pelas chaves que delimitam o bloco, conforme mostrado no exemplo a seguir.

Configuration MyWebConfig {
    # Parameters are optional
    param ($MachineName, $WebsiteFilePath)
    # A Configuration block can have one or more Node blocks
    Node $MachineName
    {
        # Next, specify one or more resource blocks
        # WindowsFeature is one of the resources you can use in a Node block
        # This example ensures the Web Server (IIS) role is installed
        WindowsFeature IIS
        {
            # To ensure that the role is not installed, set Ensure to "Absent"
            Ensure = "Present"
            Name = "Web-Server" # Use the Name property from Get-WindowsFeature
        }

        # You can use the File resource to create files and folders
        # "WebDirectory" is the name you want to use to refer to this instance
        File WebDirectory
        {
            Ensure = "Present"  # You can also set Ensure to "Absent"
            Type = "Directory" # Default is "File"
            Recurse = $true
            SourcePath = $WebsiteFilePath
            DestinationPath = "C:\inetpub\wwwroot"

            # Ensure that the IIS block is successfully run first before
            # configuring this resource
            DependsOn = "[WindowsFeature]IIS"  # Use for dependencies
        }
    }
}

Para criar uma configuração, invoque o bloco Configuration da mesma forma que invocaria uma função do PowerShell, passando todos os parâmetros esperados que você possa ter definido (dois no exemplo acima). Por exemplo, neste caso:

MyWebConfig -MachineName "TestMachine" -WebsiteFilePath `
  "\\filesrv\WebFiles" -OutputPath "C:\Windows\system32\temp"
# OutputPath is optional

Isso gera um arquivo MOF por nó no caminho especificado. Esses arquivos MOF especificam a configuração desejada para cada nó. Em seguida, use o cmdlet a seguir para analisar os arquivos MOF de configuração, enviar a cada nó sua configuração correspondente e executar essas configurações. Observe que você não precisa criar um arquivo MOF separado para recursos DSC baseados em classe.

Start-DscConfiguration -Verbose -Wait -Path "C:\Windows\system32\temp"

USANDO O DSC PARA MANTER O ESTADO DE CONFIGURAÇÃO

Com o DSC, a configuração é idempotente. Isso significa que, se você usar o DSC para executar a mesma configuração mais de uma vez, o estado de configuração resultante será sempre o mesmo. Por isso, se você suspeitar que algum nó em seu ambiente pode ter se desviado do estado de configuração desejado, poderá executar a mesma configuração de DSC novamente para trazê-los de volta ao estado desejado. Você não precisa modificar o script de configuração para endereçar apenas os recursos cujo estado se desviou do estado desejado.

O exemplo a seguir mostra como você pode verificar se o estado real da configuração em um determinado nó se desviou da última configuração de DSC promulgada no nó. Neste exemplo, estamos verificando a configuração do computador local.

$session = New-CimSession -ComputerName "localhost"
Test-DscConfiguration -CimSession $session

RECURSOS DE DSC INTEGRADOS

Você pode usar os seguintes recursos internos em seus scripts de configuração:

Nome Propriedades
Arquivo {DestinationPath, Atributos, Soma de Verificação, Conteúdo...}
Arquivo {Destino, Caminho, Soma de Verificação, Credencial...}
Ambiente {nome, depende, garantir, caminho...}
Grupo {GroupName, Credencial, DependsOn, Descrição...}
Registro {Mensagem, DependsOn, PsDscRunAsCredential}
Pacote {Nome, Caminho, ProductId, Argumentos...}
Registro {Chave, ValueName, DependsOn, Garantir...}
Roteiro {GetScript, SetScript, TestScript, Credencial...}
Serviço {Nome, BuiltInAccount, Credencial, Dependências...}
Utilizador {Nome de usuário, DependsOn, Descrição, Desativado...}
Esperar por tudo {NodeName, ResourceName, DependsOn, PsDscRunAsC...}
Esperar por qualquer {NodeName, ResourceName, DependsOn, PsDscRunAsC...}
Espere por alguns {NodeCount, NodeName, ResourceName, DependsOn...}
Recurso do Windows {Nome, Credencial, Depende, Garantir...}
WindowsOptionalFeature {Nome, DependsOn, Garantir, LogLevel...}
Processo do Windows {Argumentos, Caminho, Credencial, DependsOn...}

Para obter uma lista de recursos de DSC disponíveis em seu sistema, execute o cmdlet Get-DscResource.

O exemplo neste tópico demonstra como usar os recursos File e WindowsFeature. Para ver todas as propriedades que você pode usar com um recurso, insira o cursor na palavra-chave resource (por exemplo, File) no script de configuração no ISE do PowerShell, mantenha pressionada a tecla CTRL e pressione a barra de espaços.

ENCONTRE MAIS RECURSOS

Você pode baixar, instalar e saber mais sobre muitos outros recursos de DSC disponíveis que foram criados pela comunidade de usuários do PowerShell e do DSC e pela Microsoft. Visite a Galeria do PowerShell para navegar e saber mais sobre os recursos de DSC disponíveis.

VEJA TAMBÉM

Visão geral da configuração de estado desejado do PowerShell

Recursos internos de configuração de estado desejado do PowerShell

Criar recursos personalizados de configuração de estado desejado do PowerShell