Configurando o Gerenciador de Configurações Local

Aplica-se a: Windows PowerShell 5.0

O Gerenciador de Configurações Local (LCM) é o mecanismo de Configuração de Estado Desejado (DSC). Ele é executado em cada nó de destino e é responsável pela análise e aplicação das configurações que são enviadas para o nó. Também é responsável por uma série de outros aspectos da DSC, incluindo os itens a seguir.

  • Determinar o modo de atualização (push ou pull).
  • Especificar com que frequência um nó recebe e aplica as configurações.
  • Associar o nó ao serviço de pull.
  • Especificar configurações parciais.

Um tipo especial de configuração é utilizado 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ções Local. Para obter informações sobre como configurar o LCM no Windows PowerShell 4.0, veja Configurar o Gerenciador de Configurações Local em versões anteriores do Windows PowerShell.

Escrevendo e aplicando uma configuração do LCM

Para configurar o LCM, você cria e executa um tipo especial de configuração que aplica as configurações de LCM. Para especificar uma configuração do LCM, é necessário usar o atributo DscLocalConfigurationManager. Segue uma configuração simples que define o LCM para o modo de push.

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

O processo de aplicação das configurações do LCM é semelhante à aplicação de uma configuração de DSC. Você criará uma configuração do LCM, a compilará em um arquivo MOF e a aplicará ao nó. Ao contrário de configurações de DSC, você não aplica uma configuração do LCM chamando o cmdlet Start-DscConfiguration. Em vez disso, chama Set-DscLocalConfigurationManager, fornecendo o caminho até o MOF de configuração do LCM como parâmetro. Depois de aplicar 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 somente 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 de pull de HTTP para configurações.
  • ConfigurationRepositoryShare: especifica um serviço de pull de SMB para configurações.
  • ResourceRepositoryWeb: especifica um serviço de pull de HTTP para os módulos.
  • ResourceRepositoryShare: especifica um compartilhamento de SMB para os módulos.
  • ReportServerWeb: especifica um serviço de pull de HTTP para o qual os relatórios serão enviados.
  • PartialConfiguration: fornece dados para habilitar as configurações parciais.

Configurações Básicas

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

Propriedade Tipo Descrição
ActionAfterReboot string 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: continuar a aplicar a configuração atual após a reinicialização do computador. Esse é o valor padrão.
  • StopConfiguration: parar a configuração atual após a reinicialização do computador.
AllowModuleOverwrite bool $TRUE se as novas configurações baixadas do serviço de pull tiverem permissão para substituir as antigas no nó de destino. Caso contrário, $FALSE.
CertificateID string A impressão digital de um certificado usado para proteger as credenciais passadas em uma configuração. Para obter mais informações, consulte Quer proteger credenciais na Configuração de Estado Desejado do Windows PowerShell?
Observação: isso será gerenciado automaticamente se estiver usando o serviço de pull de DSC de Automação do Azure.
ConfigurationDownloadManagers CimInstance[] Obsoleto. Use os blocos ConfigurationRepositoryWeb e ConfigurationRepositoryShare para definir pontos de extremidade de serviço de pull de configuração.
ConfigurationID string Para compatibilidade com versões anteriores do serviço de pull. Um GUID que identifica o arquivo de configuração que deve ser obtido de um serviço de pull. O nó efetuará o pull das configurações serviço de pull se o nome do MOF de configuração for ConfigurationID.mof.
Observação: Se você definir essa propriedade, o registro do nó com um serviço de pull usando RegistrationKey não funcionará. Para obter mais informações, consulte Configurando um cliente de pull com nomes de configuração.
ConfigurationMode string 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: a DSC aplica a configuração e não faz nada além disso, a menos que uma nova configuração seja enviada por push para o nó de destino ou quando o pull de uma nova configuração for efetuado de um serviço. Depois da aplicação inicial de uma nova configuração, o DSC não procura descompasso de um estado previamente configurado. Observe que a DSC tentará aplicar a configuração até obter êxito antes que ApplyOnly entre em vigor.
  • ApplyAndMonitor: Esse é o valor padrão. O LCM aplica as novas configurações. Depois da aplicação inicial de uma nova configuração, se o nó de destino tiver um descompasso do estado desejado, o DSC relatará a discrepância nos logs. Observe que a DSC tentará aplicar a configuração até obter êxito antes que ApplyAndMonitor entre em vigor.
  • ApplyAndAutoCorrect: o DSC aplica as novas configurações. Após a aplicação inicial de uma nova configuração, se o nó de destino estiver dessincronizado em relação ao estado desejado, a DSC relatará a discrepância nos logs e reaplica a configuração atual.
ConfigurationModeFrequencyMins UInt32 A frequência, em minutos, em que 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 string Os valores possíveis são None, ForceModuleImport e All.
  • Defina como None para usar os recursos armazenados em cache. Este é o padrão e deve ser usada em cenários de produção.
  • Definir como ForceModuleImport fará com que o LCM recarregue todos os módulos de recursos DSC, mesmo se tiverem sido carregados e armazenados em cache anteriormente. Isso afeta o desempenho das operações de DSC, já que cada módulo é recarregado no momento do uso. Normalmente, você usaria esse valor durante a depuração de um recurso
  • Nesta versão, All é o mesmo que ForceModuleImport
RebootNodeIfNeeded bool defina como $true para permitir que os recursos reinicializem o nó usando o sinalizador $global:DSCMachineStatus. Caso contrário, você precisará reinicializar manualmente o nó para qualquer configuração que exigir. O valor padrão é $false. Para usar essa configuração quando uma condição de reinicialização for representada por algo diferente do DSC (como o Windows Installer), combine essa configuração com recurso PendingReboot no módulo ComputerManagementDsc.
RefreshMode string Especifica como o LCM obtém as configurações. Os valores possíveis são "Disabled" , "Push" e "Pull" .
  • Disabled: as configurações do 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ó. Esse é o valor padrão.
  • Pull: o nó está configurado para verificar regularmente as configurações de um serviço de pull ou caminho SMB. Se essa propriedade estiver definida como Pull, você deverá especificar um caminho de (serviço) HTTP ou (compartilhamento) SMB em um bloco ConfigurationRepositoryWeb ou ConfigurationRepositoryShare.
RefreshFrequencyMins Uint32 O intervalo de tempo, em minutos, em que o LCM verifica um serviço de pull para obter configurações atualizadas e verificações da configuração local para descompasso. 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 pull. O valor padrão é 30.
ReportManagers CimInstance[] Obsoleto. Use blocos ReportServerWeb para definir um ponto de extremidade para enviar dados de relatório a um serviço de pull.
ResourceModuleManagers CimInstance[] Obsoleto. Use os blocos ResourceRepositoryWeb e ResourceRepositoryShare para definir pontos de extremidade HTTP do serviço de pull ou caminhos SMB, respectivamente.
PartialConfigurations CimInstance Não implementado. Não use.
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 em ConfigurationModeFrequencyMins é aplicada usando Set-DscLocalConfigurationManager
  • Uma reinicialização do computador

Para qualquer condição em que o processo de temporizador apresentar uma falha, ela será detectada dentro de 30 segundos e o ciclo será reiniciado. Uma operação simultânea pode atrasar o início do ciclo; se a duração dessa operação ultrapassar a frequência de ciclo configurada, o próximo temporizador não será iniciado. Por exemplo, a metaconfiguração é configurada com uma frequência de pull de 15 minutos e um pull ocorre em T1. O Nó não conclui o trabalho por 16 minutos. O primeiro ciclo de 15 minutos será ignorado e próximo pull ocorrerá em T1 + 15 + 15.

A intenção original em cenários de pull era que RefreshFrequencyMins fosse definido para uma hora mais tarde do que ConfigurationModeFrequencyMins. As configurações locais seriam gerenciadas principalmente pelo ConfigurationModeFrequencyMins para evitar o descompasso de configuração, e RefreshFrequencyMins é usado para controlar as alterações de configuração reais feitas pelo administrador.

Serviço de pull

A configuração do LCM dá suporte à definição dos seguintes tipos de ponto de extremidade de serviço de pull:

  • Servidor de configuração: um repositório para configurações de DSC. Defina os servidores de configuração usando blocos ConfigurationRepositoryWeb (para servidores baseados na Web) e ConfigurationRepositoryShare (para servidores baseados em SMB).
  • Servidor de recursos: um repositório de recursos DSC, empacotados como módulos do PowerShell. Defina os servidores de recurso usando 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 os 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 de pull, veja Serviço de pull de Desired State Configuration.

Blocos do servidor de configuração

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

Propriedade Tipo Descrição
AllowUnsecureConnection bool Defina como $TRUE para permitir conexões entre o nó e o servidor sem autenticação. Defina como $FALSE para exigir autenticação.
CertificateID string A impressão digital de um certificado usado para autenticar o servidor.
ConfigurationNames String[] Uma matriz de nomes de configurações que serão retiradas por pull pelo nó de destino. Serão usadas apenas se o nó for registrado com o serviço de pull usando uma RegistrationKey. Para obter mais informações, consulte Configurando um cliente de pull com nomes de configuração.
RegistrationKey string Um GUID que registra o nó com o serviço de pull. Para obter mais informações, consulte Configurando um cliente de pull com nomes de configuração.
ServerURL string A URL do serviço de configuração.
ProxyURL* string A URL do proxy http a ser usada ao se comunicar com o serviço de configuração.
ProxyCredential* pscredential Credencial a ser usada para o proxy http.

Observação

Compatível com as versões 1809 e posteriores do Windows.

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

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

Propriedade Tipo Descrição
Credencial MSFT_Credential A credencial usada para autenticar para o compartilhamento SMB.
SourcePath string O caminho do compartilhamento SMB.

Blocos do servidor de recurso

Para definir um servidor de recurso baseado na Web, crie um bloco ResourceRepositoryWeb. Um ResourceRepositoryWeb define as propriedades a seguir.

Propriedade Tipo Descrição
AllowUnsecureConnection bool Defina como $TRUE para permitir conexões entre o nó e o servidor sem autenticação. Defina como $FALSE para exigir autenticação.
CertificateID string A impressão digital de um certificado usado para autenticar o servidor.
RegistrationKey string Um GUID que identifica o nó para o serviço de pull.
ServerURL string A URL do servidor de configuração.
ProxyURL* string A URL do proxy http a ser usada ao se comunicar com o serviço de configuração.
ProxyCredential* pscredential Credencial a ser usada para o proxy http.

Observação

Compatível com as versões 1809 e posteriores do Windows.

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

Para definir um servidor de recurso baseado em SMB, crie um bloco ResourceRepositoryShare. ResourceRepositoryShare define as propriedades a seguir.

Propriedade Tipo Descrição
Credencial MSFT_Credential A credencial usada para autenticar para o compartilhamento SMB. Para obter um exemplo de passagem de credenciais, consulte Configurando um servidor de pull de SMB para DSC
SourcePath string 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 de pull baseado em SMB. ReportServerWeb define as propriedades a seguir.

Propriedade Tipo Descrição
AllowUnsecureConnection bool Defina como $TRUE para permitir conexões entre o nó e o servidor sem autenticação. Defina como $FALSE para exigir autenticação.
CertificateID string A impressão digital de um certificado usado para autenticar o servidor.
RegistrationKey string Um GUID que identifica o nó para o serviço de pull.
ServerURL string A URL do servidor de configuração.
ProxyURL* string A URL do proxy http a ser usada ao se comunicar com o serviço de configuração.
ProxyCredential* pscredential Credencial a ser usada para o proxy http.

Observação

Compatível com as versões 1809 e posteriores do Windows.

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

Configurações parciais

Para definir uma configuração parcial, você cria um bloco PartialConfiguration. Para obter mais informações sobre configurações parciais, consulte Configurações parciais de DSC. PartialConfiguration define as propriedades a seguir.

Propriedade Tipo Descrição
ConfigurationSource string[] Uma matriz de nomes de servidores de configuração, definidos previamente nos blocos ConfigurationRepositoryWeb e ConfigurationRepositoryShare, dos quais a configuração parcial é retirada.
DependsOn string{} Uma lista de nomes de outras configurações que devem ser concluídas antes que essa configuração parcial seja aplicada.
Descrição string Texto usado para descrever a configuração parcial.
ExclusiveResources string[] Uma matriz de recursos exclusivos para essa configuração parcial.
RefreshMode string Especifica como o LCM obtém essa configuração parcial. Os valores possíveis são "Disabled" , "Push" e "Pull" .
  • Disabled: esta configuração parcial está desabilitada.
  • Push: a configuração parcial é enviada por push para o nó ao chamar o cmdlet Publish-DscConfiguration. Depois que todas as configurações parciais para o nó são enviadas por push ou recebidas por pull de um serviço, a configuração pode ser iniciada chamando Start-DscConfiguration –UseExisting. Esse é o valor padrão.
  • Pull: o nó é configurado para verificar regularmente a configuração parcial de um serviço de pull. Se essa propriedade for definida como Pull, você deverá especificar um serviço de pull em uma propriedade ConfigurationSource. Para saber mais sobre o serviço de pull da Automação do Azure, consulte Visão geral do DSC de Automação do Azure.
ResourceModuleSource string[] Uma matriz de nomes de servidores de recurso por meio dos quais é possível baixar os recursos necessários para essa configuração parcial. Esses nomes devem se referir a pontos de extremidade de serviço definidos previamente nos blocos ResourceRepositoryWeb e ResourceRepositoryShare.

Observação

configurações parciais tê suporte com o DSC de Automação do Azure, mas somente uma configuração pode ser extraída de cada conta de automação por nó.

Consulte Também

Conceitos

Visão geral da Configuração do Estado Desejado

Introdução à DSC de Automação do Azure

Outros recursos

Set-DscLocalConfigurationManager

Configurando um cliente de pull com nomes de configuração