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 o Configuration 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-DscResourceobjeto de retorno, mas o nome da classe usado ao definir o esquema de recurso (a propriedade ResourceType do objeto retornado por Get-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.

Consulte Também