Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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