about_DesiredStateConfiguration
BREVE DESCRIÇÃO
Fornece uma breve introdução à funcionalidade Desired State Configuration do PowerShell (DSC).
DESCRIÇÃO LONGA
O DSC é uma plataforma de gestão no PowerShell que permite implementar e gerir dados de configuração para serviços de software e gerir o ambiente em que estes serviços são executados.
O DSC fornece um conjunto de extensões de linguagem do PowerShell, novos cmdlets e recursos que pode utilizar para especificar declarativamente como pretende configurar o estado do seu ambiente de software. Também fornece um meio de manter e gerir configurações existentes.
O DSC é introduzido no PowerShell 4.0.
Para obter informações detalhadas sobre o DSC, veja Descrição Geral do PowerShell Desired State Configuration na Biblioteca TechNet.
DESENVOLVER RECURSOS DO DSC COM CLASSES
A partir do PowerShell 5.0, pode desenvolver recursos do DSC com classes. Para obter mais informações, veja about_Classes e Writing a custom DSC resource with PowerShell classes on Microsoft TechNet (Escrever um recurso DSC personalizado com classes do PowerShell no Microsoft TechNet).
UTILIZAR O DSC
Para utilizar o DSC para configurar o seu ambiente, primeiro defina um bloco de scripts do PowerShell com a palavra-chave Configuração, seguido de um identificador, que por sua vez é seguido pelo par de chavetas que delimitam o bloco. Dentro do bloco de configuração, pode definir blocos de nós que especificam o estado de configuração pretendido para cada nó (computador) no ambiente. Um bloco de nó começa com a palavra-chave Node, seguido do nome do computador de destino, que pode ser uma variável. Depois do nome do computador, venham as chavetas que delimitam o bloco do nó. Dentro do bloco de nós, pode definir blocos de recursos para configurar recursos específicos. Um bloco de recursos começa com o nome do tipo do recurso, seguido do identificador que pretende especificar para esse bloco, seguido das chavetas que delimitam o bloco, conforme mostrado no exemplo seguinte.
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, transmitindo quaisquer parâmetros esperados que 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
Esta ação gera um ficheiro MOF por nó no caminho que especificar. Estes ficheiros MOF especificam a configuração pretendida para cada nó. Em seguida, utilize o seguinte cmdlet para analisar os ficheiros MOF de configuração, enviar a cada nó a configuração correspondente e decretar essas configurações. Tenha em atenção que não precisa de criar um ficheiro MOF separado para recursos de DSC baseados em classes.
Start-DscConfiguration -Verbose -Wait -Path "C:\Windows\system32\temp"
UTILIZAR O DSC PARA MANTER O ESTADO DE CONFIGURAÇÃO
Com o DSC, a configuração é idempotente. Isto significa que, se utilizar o DSC para decretar a mesma configuração mais do que uma vez, o estado de configuração resultante será sempre o mesmo. Por este motivo, se suspeitar que quaisquer nós no seu ambiente podem ter desfasado do estado de configuração pretendido, pode decretar a mesma configuração do DSC novamente para os trazer de volta ao estado pretendido. Não precisa de modificar o script de configuração para abordar apenas os recursos cujo estado se desfasou do estado pretendido.
O exemplo seguinte mostra como pode verificar se o estado real da configuração num determinado nó foi desfasado da última configuração do DSC decretada no nó. Neste exemplo, estamos a verificar a configuração do computador local.
$session = New-CimSession -ComputerName "localhost"
Test-DscConfiguration -CimSession $session
RECURSOS DO DSC INCORPORADOS
Pode utilizar os seguintes recursos incorporados nos scripts de configuração:
Name | Propriedades |
---|---|
Ficheiro | {DestinationPath, Attributes, Checksum, Content...} |
Arquivo | {Destino, Caminho, Soma de Verificação, Credencial...} |
Ambiente | {Name, DependsOn, Ensure, Path...} |
Group | {GroupName, Credential, DependsOn, Description...} |
Registo | {Message, DependsOn, PsDscRunAsCredential} |
Pacote | {Nome, Caminho, ProductId, Argumentos...} |
Registo | {Key, ValueName, DependsOn, Ensure...} |
Script | {GetScript, SetScript, TestScript, Credential...} |
Serviço | {Nome, BuiltInAccount, Credencial, Dependências...} |
Utilizador | {NomedeUtilizador, DependsOn, Descrição, Desativado...} |
WaitForAll | {NodeName, ResourceName, DependsOn, PsDscRunAsC...} |
WaitForAny | {NodeName, ResourceName, DependsOn, PsDscRunAsC...} |
WaitForSome | {NodeCount, NodeName, ResourceName, DependsOn...} |
WindowsFeature | {Nome, Credencial, DependsOn, Garantir...} |
WindowsOptionalFeature | {Name, DependsOn, Ensure, LogLevel...} |
WindowsProcess | {Argumentos, Caminho, Credencial, DependsOn...} |
Para obter uma lista dos recursos DSC disponíveis no seu sistema, execute o cmdlet Get-DscResource.
O exemplo neste tópico demonstra como utilizar os recursos Ficheiro e WindowsFeature. Para ver todas as propriedades que pode utilizar com um recurso, insira o cursor na palavra-chave do recurso (por exemplo, Ficheiro) no script de configuração no ISE do PowerShell, mantenha premida a tecla CTRL e, em seguida, prima a BARRA DE ESPAÇO.
LOCALIZAR MAIS RECURSOS
Pode transferir, instalar e saber mais sobre muitos outros recursos de DSC disponíveis que foram criados pela comunidade de utilizadores do PowerShell e do DSC e pela Microsoft. Visite a Galeria do PowerShell para procurar e saber mais sobre os recursos de DSC disponíveis.
CONSULTE TAMBÉM
Descrição Geral do PowerShell Desired State Configuration
Recursos Desired State Configuration do PowerShell Incorporados
Criar Recursos de Desired State Configuration personalizados do PowerShell