Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
BREVE DESCRIÇÃO
Fornece uma breve introdução ao recurso de Configuração de Estado Desejado (DSC) do PowerShell.
DESCRIÇÃO LONGA
O 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.
O 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. Ele também fornece um meio para manter e gerenciar as configurações existentes.
O DSC é introduzido no PowerShell 4.0.
Para obter informações detalhadas sobre DSC, consulte Visão geral da configuração de estado desejado do PowerShell na Biblioteca TechNet.
DESENVOLVENDO RECURSOS DSC COM CLASSES
A partir do PowerShell 5.0, você pode desenvolver recursos 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 o DSC para configurar seu ambiente, primeiro defina um bloco de script do PowerShell usando a palavra-chave Configuração, seguido 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ó que especificam o estado de configuração desejado para cada nó (computador) no ambiente. Um bloco de nó começa com a palavra-chave Nó, 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ó, 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 Configuração da mesma forma que invocaria uma função do PowerShell, passando quaisquer 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 especificar 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 desejado de configuração, poderá executar a mesma configuração DSC novamente para trazê-los de volta ao estado desejado. Não é necessário modificar o script de configuração para abordar 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 DSC decretada no nó. Neste exemplo, estamos verificando a configuração do computador local.
$session = New-CimSession -ComputerName "localhost"
Test-DscConfiguration -CimSession $session
RECURSOS DSC INTEGRADOS
Você pode usar os seguintes recursos internos em seus scripts de configuração:
| Nome | Propriedades |
|---|---|
| Ficheiro | {DestinationPath, Atributos, Checksum, Conteúdo...} |
| Arquivo | {Destino, caminho, soma de verificação, credencial...} |
| Meio Ambiente | {Nome, DependsOn, Assegurar, Caminho...} |
| Grupo | {GroupName, Credential, DependsOn, Descrição...} |
| Registo | {Mensagem, DependsOn, PsDscRunAsCredential} |
| Embalagem | {Nome, Caminho, ProductId, Argumentos...} |
| Registo | {Key, ValueName, DependsOn, Assegurar...} |
| Guião | {GetScript, SetScript, TestScript, Credencial...} |
| Serviço | {Nome, BuiltInAccount, Credencial, Dependências...} |
| Utilizador | {UserName, DependsOn, Descrição, Desativado...} |
| WaitForAll | {NodeName, ResourceName, DependsOn, PsDscRunAsC...} |
| WaitForAny | {NodeName, ResourceName, DependsOn, PsDscRunAsC...} |
| WaitForSome | {NodeCount, NodeName, ResourceName, DependsOn...} |
| Funcionalidade WindowsFeature | {Nome, Credencial, DependsOn, Garantir...} |
| FuncionalidadeOpcionaldoWindows | {Nome, DependsOn, Ensure, LogLevel...} |
| WindowsProcesso | {Argumentos, caminho, credencial, dependsOn...} |
Para obter uma lista de recursos 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) dentro do script de configuração no PowerShell ISE, mantenha pressionada a tecla CTRL e pressione a barra de espaço.
ENCONTRE MAIS RECURSOS
Você pode baixar, instalar e aprender sobre muitos outros recursos DSC disponíveis que foram criados pela comunidade de usuários do PowerShell e DSC e pela Microsoft. Visite a Galeria do PowerShell para navegar e saber mais sobre os recursos DSC disponíveis.
VER 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