Configurações DSC
Aplica-se a: PowerShell 7, recurso de configuração de computador do Gerenciamento Automatizado do Azure
As Configurações de DSC são scripts do PowerShell que definem um tipo especial de comando. Para definir uma Configuração, use o PowerShell palavra-chave configuration
.
Configuration MyDscConfiguration {
Environment FirstEnvironmentVariable {
Ensure = 'Present'
Name = 'Foo'
Value = 'Example'
}
Environment SecondEnvironmentVariable {
Ensure = 'Present'
Name = 'Bar'
Value = 'Another'
}
}
MyDscConfiguration
Salve o script como um arquivo .ps1
.
Sintaxe da configuração
Um script de Configuração de DSC consiste nas seguintes partes:
- O
Configuration
bloco. É o bloco de script externo. Defina-o com oConfiguration
palavra-chave e forneça um nome. Nesse caso, o nome da Configuração de DSC éMyDscConfiguration
. - Um ou mais blocos de recursos de DSC. É aqui que a Configuração de DSC define as configurações para o componente que está configurando. Nesse caso, há dois blocos de recursos de DSC. Ambos usam o
Environment
recurso DSC.
Compilando a configuração
Antes de usar uma configuração de DSC, você precisa compilá-la em um documento MOF. Faça isso chamando a Configuração de DSC como você chamaria uma função do PowerShell. A última linha do exemplo, que contém apenas o nome da Configuração de DSC, executa a configuração de DSC.
Observação
Para chamar uma configuração de DSC, ela deve ser carregada no escopo atual (como com qualquer outra função do PowerShell). Você pode fazer isso acontecer "dot-sourcing" do script ou executando o script com F5 ou clicando no botão Executar Script no VS Code. Para fazer o script de origem de ponto, execute o comando . .\myConfig.ps1
em myConfig.ps1
que é o nome do arquivo de script que contém a configuração de DSC.
Quando você chama a Configuração de DSC, ela:
- Cria uma pasta no diretório atual com o mesmo nome que a Configuração de DSC.
- Cria um arquivo chamado
localhost.mof
no novo diretório.
Observação
O arquivo MOF contém todas as informações de configuração do sistema. Por isso, é importante mantê-lo seguro.
Usando novos recursos de DSC em sua configuração de DSC
Se você executou os exemplos anteriores, talvez tenha notado que foi informado que estava usando um recurso sem importá-lo explicitamente.
Você pode usar o cmdlet Get-DscResource para determinar quais recursos estão instalados no sistema e disponíveis para uso. Mesmo quando seus módulos foram colocados em $env:PSModulePath
e são reconhecidos pelo Get-DscResource
, eles ainda precisam ser carregados dentro de sua configuração de DSC.
Import-DscResource
é um palavra-chave dinâmico que só pode ser reconhecido dentro de um Configuration
bloco. Não é um cmdlet. Import-DscResource
dá suporte a dois parâmetros:
- ModuleName é a maneira recomendada de usar
Import-DscResource
. Aceita o nome do módulo que contém os recursos que serão importados (assim como uma matriz de cadeia de caracteres de nomes de módulos). - Name é o nome do recurso que será importado. Esse não é o nome amigável retornado como a propriedade Name do
Get-DscResource
objeto de retorno, mas o nome da classe usado ao definir o esquema de recurso (a propriedade ResourceType do objeto retornado porGet-DscResource
).
Para saber mais sobre como usar Import-DSCResource
, confira Usando Import-DSCResource
Importante
Há uma limitação na configuração do computador que impede que um recurso de DSC use quaisquer cmdlets do PowerShell não incluídos no próprio PowerShell ou em um módulo no Galeria do PowerShell. Os recursos de DSC que usam cmdlets de um ou mais módulos do Windows não funcionarão na configuração do computador.