Partilhar via


Configurando o Gerenciador de Configuração Local

Aplica-se a: Windows PowerShell 5.0

O Gerenciador de Configuração Local (LCM) é o mecanismo de Configuração de Estado Desejado (DSC). O LCM é executado em cada nó de destino e é responsável por analisar e decretar as configurações que são enviadas para o nó. É também responsável por uma série de outros aspetos do DSC, incluindo os seguintes.

  • Determinar o modo de atualização (push ou pull).
  • Especificar com que frequência um nó puxa e executa configurações.
  • Associando o nó ao serviço pull.
  • Especificação de configurações parciais.

Você usa um tipo especial de configuração para configurar o LCM para especificar cada um desses comportamentos. As seções a seguir descrevem como configurar o LCM.

O Windows PowerShell 5.0 introduziu novas configurações para gerenciar o Gerenciador de Configuração Local. Para obter informações sobre como configurar o LCM no Windows PowerShell 4.0, consulte Configurando o Gerenciador de Configuração Local em versões anteriores do Windows PowerShell.

Escrevendo e implementando uma configuração do LCM

Para configurar o LCM, crie e execute um tipo especial de configuração que aplique as configurações do LCM. Para especificar uma configuração do LCM, use o atributo DscLocalConfigurationManager. A seguir mostra uma configuração simples que define o LCM para o modo push.

[DSCLocalConfigurationManager()]
configuration LCMConfig
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Push'
        }
    }
}

O processo de aplicação de configurações ao LCM é semelhante à aplicação de uma configuração DSC. Você criará uma configuração LCM, compilá-la-á em um arquivo MOF e aplicá-la-á ao nó. Ao contrário das configurações de DSC, você não executa uma configuração do LCM chamando o cmdlet Start-DscConfiguration . Em vez disso, você chama Set-DscLocalConfigurationManager, fornecendo o caminho para o MOF de configuração do LCM como um parâmetro. Depois de executar a configuração do LCM, você pode ver as propriedades do LCM chamando o cmdlet Get-DscLocalConfigurationManager .

Uma configuração do LCM pode conter blocos apenas para um conjunto limitado de recursos. No exemplo anterior, o único recurso chamado é Settings. Os outros recursos disponíveis são:

  • ConfigurationRepositoryWeb: especifica um serviço pull HTTP para configurações.
  • ConfigurationRepositoryShare: especifica um compartilhamento SMB para configurações.
  • ResourceRepositoryWeb: especifica um serviço de pull HTTP para módulos.
  • ResourceRepositoryShare: especifica um compartilhamento SMB para módulos.
  • ReportServerWeb: especifica um serviço de pull HTTP para o qual os relatórios são enviados.
  • PartialConfiguration: fornece dados para permitir configurações parciais.

Definições básicas

Além de especificar pontos de extremidade/caminhos de serviço pull e configurações parciais, todas as propriedades do LCM são configuradas em um bloco Configurações . As propriedades a seguir estão disponíveis em um bloco Configurações .

Propriedade Tipo Description
ActionAfterReboot cadeia (de caracteres) Especifica o que acontece após uma reinicialização durante a aplicação de uma configuração. Os valores possíveis são "ContinueConfiguration" e "StopConfiguration".
  • ContinueConfiguration: Continue aplicando a configuração atual após a reinicialização da máquina. Este é o valor padrão
  • StopConfiguration: Pare a configuração atual após a reinicialização da máquina.
AllowModuleOverwrite bool $TRUE se as novas configurações baixadas do serviço pull tiverem permissão para substituir as antigas no nó de destino. Caso contrário, $FALSE.
ID do certificado cadeia (de caracteres) A impressão digital de um certificado usado para proteger credenciais passadas em uma configuração. Para obter mais informações, consulte Deseja proteger credenciais na Configuração de Estado Desejado do Windows PowerShell?.
Observação: isso é gerenciado automaticamente se estiver usando o serviço pull DSC da Automação do Azure.
ConfigurationDownloadManagers CimInstance[] Obsolete. Use os blocos ConfigurationRepositoryWeb e ConfigurationRepositoryShare para definir pontos de extremidade de serviço de pull de configuração.
ID de configuração cadeia (de caracteres) Para compatibilidade com versões anteriores do serviço pull. Um GUID que identifica o arquivo de configuração a ser obtido de um serviço pull. O nó extrairá configurações no serviço pull se o nome do MOF de configuração for chamado ConfigurationID.mof.
Observação: Se você definir essa propriedade, registrar o nó com um serviço pull usando RegistrationKey não funcionará. Para obter mais informações, consulte Configurando um cliente pull com nomes de configuração.
Modo de configuração cadeia (de caracteres) Especifica como o LCM realmente aplica a configuração aos nós de destino. Os valores possíveis são "ApplyOnly","ApplyAndMonitor" e "ApplyAndAutoCorrect".
  • ApplyOnly: o DSC aplica a configuração e não faz mais nada, a menos que uma nova configuração seja enviada por push para o nó de destino ou quando uma nova configuração é extraída de um serviço. Após a aplicação inicial de uma nova configuração, o DSC não verifica se há desvio de um estado configurado anteriormente. Observe que o DSC tentará aplicar a configuração até que ela seja bem-sucedida antes que ApplyOnly entre em vigor.
  • ApplyAndMonitor: Este é o valor padrão. O LCM aplica quaisquer novas configurações. Após a aplicação inicial de uma nova configuração, se o nó de destino se desviar do estado desejado, o DSC relatará a discrepância nos logs. Observe que o DSC tentará aplicar a configuração até que ela seja bem-sucedida antes que o ApplyAndMonitor entre em vigor.
  • ApplyAndAutoCorrect: DSC aplica quaisquer novas configurações. Após a aplicação inicial de uma nova configuração, se o nó de destino se desviar do estado desejado, o DSC relatará a discrepância nos logs e, em seguida, reaplicará a configuração atual.
ConfigurationModeFrequencyMins UInt32 Com que frequência, em minutos, a configuração atual é verificada e aplicada. Essa propriedade será ignorada se a propriedade ConfigurationMode estiver definida como ApplyOnly. O valor padrão é 15.
DebugMode cadeia (de caracteres) Os valores possíveis são None, ForceModuleImport e All.
  • Defina como Nenhum para usar recursos armazenados em cache. Este é o padrão e deve ser usado em cenários de produção.
  • A configuração como ForceModuleImport faz com que o LCM recarregue quaisquer módulos de recursos DSC, mesmo que eles tenham sido carregados e armazenados em cache anteriormente. Isso afeta o desempenho das operações DSC à medida que cada módulo é recarregado durante o uso. Normalmente, você usaria esse valor ao depurar um recurso
  • Nesta versão, All é igual a ForceModuleImport
RebootNodeIfNeeded bool Defina isso para $true permitir que os recursos reinicializem o nó usando o $global:DSCMachineStatus sinalizador. Caso contrário, você terá que reinicializar manualmente o nó para qualquer configuração que o exija. O valor predefinido é $false. Para usar essa configuração quando uma condição de reinicialização é decretada por algo diferente do DSC (como o Windows Installer), combine essa configuração com o recurso PendingReboot no módulo ComputerManagementDsc .
Modo de atualização cadeia (de caracteres) Especifica como o LCM obtém configurações. Os valores possíveis são "Disabled","Push" e "Pull".
  • Desabilitado: as configurações de DSC estão desabilitadas para este nó.
  • Push: as configurações são iniciadas chamando o cmdlet Start-DscConfiguration . A configuração é aplicada imediatamente ao nó. Este é o valor padrão.
  • Puxar: O nó é configurado para verificar regularmente as configurações de um serviço pull ou caminho SMB. Se essa propriedade estiver definida como Pull, você deverá especificar um caminho HTTP (serviço) ou SMB (compartilhamento) em um bloco ConfigurationRepositoryWeb ou ConfigurationRepositoryShare .
RefreshFrequencyMins Uint32 O intervalo de tempo, em minutos, no qual o LCM verifica um serviço de pull para obter configurações atualizadas e verifica a configuração local em busca de desvio. A configuração é aplicada independentemente de uma atualização ter sido baixada. Esse valor será ignorado se o LCM não estiver configurado no modo de receção. O valor padrão é 30.
Gestores de Relatórios CimInstance[] Obsolete. Use blocos ReportServerWeb para definir um ponto de extremidade para enviar dados de relatório para um serviço de recebimento.
ResourceModuleManagers CimInstance[] Obsolete. Use os blocos ResourceRepositoryWeb e ResourceRepositoryShare para definir pontos de extremidade HTTP de serviço pull ou caminhos SMB, respectivamente.
Configurações parciais CimInstance Não implementado. Não utilizar.
StatusRetentionTimeInDays UInt32 O número de dias que o LCM mantém o status da configuração atual.

Observação

O LCM inicia o ciclo ConfigurationModeFrequencyMins com base em:

  • Uma nova metaconfiguração com uma alteração para ConfigurationModeFrequencyMins é aplicada usando Set-DscLocalConfigurationManager
  • Um reinício da máquina

Para qualquer condição em que o processo do temporizador sofra uma falha, isso será detetado dentro de 30 segundos e o ciclo será reiniciado. Uma operação simultânea pode atrasar o ciclo de ser iniciado, se a duração desta operação exceder a frequência de ciclo configurada, o próximo temporizador não será iniciado. Por exemplo, a metaconfiguração é configurada em uma frequência de pull de 15 minutos e uma pull ocorre em T1. O nó não termina o trabalho por 16 minutos. O primeiro ciclo de 15 minutos é ignorado, e a próxima atração acontecerá em T1+15+15.

A intenção original em cenários Pull era que o RefreshFrequencyMins é definido para um tempo maior do que o ConfigurationModeFrequencyMins. As configurações locais seriam gerenciadas principalmente para ConfigurationModeFrequencyMins evitar desvios de configuração e RefreshFrequencyMins são usadas para acompanhar as alterações de configuração reais feitas pelo administrador.

Serviço de pull

A configuração do LCM suporta a definição dos seguintes tipos de pontos de extremidade de serviço pull:

  • Servidor de configuração: um repositório para configurações DSC. Defina servidores de configuração usando os blocos ConfigurationRepositoryWeb (para servidores baseados na Web) e ConfigurationRepositoryShare (para servidores baseados em SMB).
  • Servidor de recursos: um repositório para recursos DSC, empacotados como módulos do PowerShell. Defina servidores de recursos usando os blocos ResourceRepositoryWeb (para servidores baseados na Web) e ResourceRepositoryShare (para servidores baseados em SMB).
  • Servidor de relatório: um serviço para o qual o DSC envia dados de relatório. Defina servidores de relatório usando blocos ReportServerWeb . Um servidor de relatório deve ser um serviço Web.

Para obter mais detalhes sobre o serviço pull, consulte Desired State Configuration Pull Service.

Blocos do servidor de configuração

Para definir um servidor de configuração baseado na Web, crie um bloco ConfigurationRepositoryWeb . A ConfigurationRepositoryWeb define as seguintes propriedades.

Propriedade Tipo Description
AllowUnsecureConnection bool Defina como $TRUE para permitir conexões do nó ao servidor sem autenticação. Defina como $FALSE para exigir autenticação.
ID do certificado cadeia (de caracteres) A impressão digital de um certificado usado para autenticar no servidor.
ConfigurationNames Cadeia[] Uma matriz de nomes de configurações a serem puxadas pelo nó de destino. Eles são usados somente se o nó estiver registrado no serviço pull usando uma RegistrationKey. Para obter mais informações, consulte Configurando um cliente pull com nomes de configuração.
Chave de Registo cadeia (de caracteres) Um GUID que registra o nó com o serviço pull. Para obter mais informações, consulte Configurando um cliente pull com nomes de configuração.
URL do servidor cadeia (de caracteres) A URL do serviço de configuração.
ProxyURL* cadeia (de caracteres) A URL do proxy http a ser usado ao se comunicar com o serviço de configuração.
ProxyCredential* pscredential Credencial a ser usada para o proxy http.

Observação

Suportado nas versões Windows 1809 e posteriores.

Um script de exemplo para simplificar a configuração do valor ConfigurationRepositoryWeb para nós locais está disponível - consulte Gerando metaconfigurações DSC

Para definir um servidor de configuração baseado em SMB, crie um bloco ConfigurationRepositoryShare . Um ConfigurationRepositoryShare define as seguintes propriedades.

Propriedade Tipo Description
Credential MSFT_Credential A credencial usada para autenticar no compartilhamento SMB.
SourcePath cadeia (de caracteres) O caminho do compartilhamento SMB.

Blocos de servidor de recursos

Para definir um servidor de recursos baseado na Web, crie um bloco ResourceRepositoryWeb . Um ResourceRepositoryWeb define as seguintes propriedades.

Propriedade Tipo Description
AllowUnsecureConnection bool Defina como $TRUE para permitir conexões do nó ao servidor sem autenticação. Defina como $FALSE para exigir autenticação.
ID do certificado cadeia (de caracteres) A impressão digital de um certificado usado para autenticar no servidor.
Chave de Registo cadeia (de caracteres) Um GUID que identifica o nó para o serviço pull.
URL do servidor cadeia (de caracteres) A URL do servidor de configuração.
ProxyURL* cadeia (de caracteres) A URL do proxy http a ser usado ao se comunicar com o serviço de configuração.
ProxyCredential* pscredential Credencial a ser usada para o proxy http.

Observação

Suportado nas versões Windows 1809 e posteriores.

Um script de exemplo para simplificar a configuração do valor ResourceRepositoryWeb para nós locais está disponível - consulte Gerando metaconfigurações DSC

Para definir um servidor de recursos baseado em SMB, crie um bloco ResourceRepositoryShare . ResourceRepositoryShare define as seguintes propriedades.

Propriedade Tipo Description
Credential MSFT_Credential A credencial usada para autenticar no compartilhamento SMB. Para obter um exemplo de passagem de credenciais, consulte Configurando um servidor de recebimento SMB DSC
SourcePath cadeia (de caracteres) O caminho do compartilhamento SMB.

Blocos do servidor de relatório

Para definir um servidor de relatório, crie um bloco ReportServerWeb . A função de servidor de relatório não é compatível com o serviço pull baseado em SMB. ReportServerWeb define as seguintes propriedades.

Propriedade Tipo Description
AllowUnsecureConnection bool Defina como $TRUE para permitir conexões do nó ao servidor sem autenticação. Defina como $FALSE para exigir autenticação.
ID do certificado cadeia (de caracteres) A impressão digital de um certificado usado para autenticar no servidor.
Chave de Registo cadeia (de caracteres) Um GUID que identifica o nó para o serviço pull.
URL do servidor cadeia (de caracteres) A URL do servidor de configuração.
ProxyURL* cadeia (de caracteres) A URL do proxy http a ser usado ao se comunicar com o serviço de configuração.
ProxyCredential* pscredential Credencial a ser usada para o proxy http.

Observação

Suportado nas versões Windows 1809 e posteriores.

Um script de exemplo para simplificar a configuração do valor ReportServerWeb para nós locais está disponível - consulte Gerando metaconfigurações DSC

Configurações parciais

Para definir uma configuração parcial, crie um bloco PartialConfiguration . Para obter mais informações sobre configurações parciais, consulte Configurações parciais de DSC. PartialConfiguration define as seguintes propriedades.

Propriedade Tipo Description
ConfigurationSource string[] Uma matriz de nomes de servidores de configuração, previamente definidos nos blocos ConfigurationRepositoryWeb e ConfigurationRepositoryShare , de onde a configuração parcial é extraída.
DependeDe string{} Uma lista de nomes de outras configurações que devem ser concluídas antes que essa configuração parcial seja aplicada.
Description cadeia (de caracteres) Texto usado para descrever a configuração parcial.
ExclusivoRecursos string[] Uma matriz de recursos exclusivos para esta configuração parcial.
Modo de atualização cadeia (de caracteres) Especifica como o LCM obtém essa configuração parcial. Os valores possíveis são "Disabled","Push" e "Pull".
  • Desabilitado: essa configuração parcial está desabilitada.
  • Push: A configuração parcial é enviada por push para o nó chamando o cmdlet Publish-DscConfiguration . Depois que todas as configurações parciais para o nó são enviadas por push ou extraídas de um serviço, a configuração pode ser iniciada chamando Start-DscConfiguration –UseExisting. Este é o valor padrão.
  • Puxar: O nó é configurado para verificar regularmente a configuração parcial de um serviço pull. Se essa propriedade estiver definida como Pull, você deverá especificar um serviço pull em uma propriedade ConfigurationSource . Para obter mais informações sobre o serviço pull de Automação do Azure, consulte Visão geral do Azure Automation DSC.
ResourceModuleSource string[] Uma matriz dos nomes dos servidores de recursos dos quais baixar os recursos necessários para essa configuração parcial. Esses nomes devem se referir a pontos de extremidade de serviço definidos anteriormente nos blocos ResourceRepositoryWeb e ResourceRepositoryShare .

Observação

as configurações parciais são suportadas com o DSC de Automação do Azure, mas apenas uma configuração pode ser extraída de cada conta de automação por nó.

Ver também

Conceitos

Visão geral da configuração do estado desejado

Introdução ao Azure Automation DSC

Outros recursos

Set-DscLocalConfigurationManager

Configurando um cliente pull com nomes de configuração