Compartilhar via


Configurando o Gerenciador de Configurações Local

Aplica-se a: Windows PowerShell 5.0

O LCM (Gerenciador de Configurações Local) é o mecanismo da DSC (Configuração de Estado Desejado). O LCM é executado em cada nó de destino e é responsável por analisar e promulgar as configurações que são enviadas ao nó. Também é responsável por vários outros aspectos do DSC, incluindo os seguintes.

  • Determinando o modo de atualização (push ou pull).
  • Especificar a frequência com que um nó efetua pull e executa configurações.
  • Associando o nó ao serviço de pull.
  • Especificando 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ções Local. Para obter informações sobre como configurar o LCM no Windows PowerShell 4.0, consulte Configurando o Gerenciador de Configurações Local em versões anteriores do Windows PowerShell.

Gravando e implementando uma configuração do LCM

Para configurar o LCM, crie e execute um tipo especial de configuração que aplica as configurações do LCM. Para especificar uma configuração de LCM, use o atributo DscLocalConfigurationManager. A seguir, é mostrada 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 de DSC. Você criará uma configuração do LCM, compilá-la em um arquivo MOF e aplicá-la ao nó. Ao contrário das configurações de DSC, você não decreta uma configuração 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 de 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 de 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 habilitar configurações parciais.

Configurações Básicas

Além de especificar pontos de extremidade/caminhos de serviço de 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 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: interrompe a configuração atual após a reinicialização da máquina.
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.
ID do certificado cadeia 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 no Windows PowerShell Configuração de estado desejado?.
Observação: isso é gerenciado automaticamente se estiver usando o serviço de pull DSC de Automação do Azure.
ConfigurationDownloadManagers CimInstance[] Obsoleto. Use os blocos ConfigurationRepositoryWeb e ConfigurationRepositoryShare para definir pontos de extremidade do serviço de pull de configuração.
ID de configuração cadeia Para compatibilidade com versões anteriores do serviço de pull mais antigo. Um GUID que identifica o arquivo de configuração a ser obtido de um serviço de pull. O nó efetuará pull das configurações no serviço de pull se o nome do MOF de configuração for denominado ConfigurationID.mof.
Nota: Se você definir essa propriedade, registrar o 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.
Modo de configuração cadeia 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 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á descompasso 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: esse é o valor padrão. O LCM aplica todas as 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 ApplyAndMonitor entre em vigor.
  • ApplyAndAutoCorrect: a DSC aplica todas as 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, aplicará novamente 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 Os valores possíveis são None, ForceModuleImport e All.
  • Defina como Nenhum para usar recursos armazenados em cache. Esse é o padrão e deve ser usado em cenários de produção.
  • A configuração como ForceModuleImport faz com que o LCM recarregue todos os módulos de recurso DSC, mesmo que eles tenham sido carregados e armazenados em cache anteriormente. Isso afeta o desempenho das operações de DSC à medida que cada módulo é recarregado durante o uso. Normalmente, você usaria esse valor ao depurar um recurso
  • Nesta versão, Tudo é o mesmo que ForceModuleImport
RebootNodeIfNeeded bool Defina isso como $true para permitir que os recursos reinicializem o nó usando o $global:DSCMachineStatus sinalizador. Caso contrário, você precisará reinicializar manualmente o nó para qualquer configuração que o exija. O valor padrão é $false. Para usar essa configuração quando uma condição de reinicialização for executada por algo diferente do DSC (como Windows Installer), combine essa configuração com o recurso PendingReboot no módulo ComputerManagementDsc .
Modo de atualização cadeia 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 esse 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.
  • Puxar: O nó é 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 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 quanto a desvios. 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 para 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.
Configurações parciais CimInstance Não implementado. Não use.
StatusRetentionTimeInDays UInt32 O número de dias em que o LCM mantém o status da configuração atual.

Observação

O LCM inicia o ciclo ConfigurationModeFrequencyMins com base em:

  • Um novo metaconfig com uma alteração em ConfigurationModeFrequencyMins é aplicado usando Set-DscLocalConfigurationManager
  • Uma reinicialização da máquina

Para qualquer condição em que o processo do temporizador sofra uma falha, isso será detectado em 30 segundos e o ciclo será reiniciado. Uma operação simultânea pode atrasar o início do ciclo, se a duração desta operação exceder a frequência do ciclo configurada, o próximo temporizador não será iniciado. Por exemplo, o metaconfig é configurado em uma frequência de pull de 15 minutos e um 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 puxada acontecerá em T1+15+15.

A intenção original nos cenários de pull era que o RefreshFrequencyMins fosse definido como 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 reais de configuração feitas pelo administrador.

Serviço de pull

A configuração do LCM oferece suporte à definição dos seguintes tipos de pontos 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 os blocos ConfigurationRepositoryWeb (para servidores baseados na Web) e ConfigurationRepositoryShare (para servidores baseados em SMB).
  • Servidor de recursos: um repositório para recursos de 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 a 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 de pull, consulte Serviço de pull de configuração de estado desejado.

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 Description
AllowUnsecureConnection bool Defina como $TRUE para permitir conexões do nó com o servidor sem autenticação. Defina como $FALSE para exigir autenticação.
ID do certificado cadeia A impressão digital de um certificado usado para autenticar no servidor.
Nomes de configuração String[] Uma matriz de nomes de configurações a serem extraídas pelo nó de destino. Eles serão usados somente se o nó estiver registrado no serviço de pull usando um RegistrationKey. Para obter mais informações, consulte Configurando um cliente de pull com nomes de configuração.
Chave de registro cadeia 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.
URL do servidor cadeia A URL do serviço de configuração.
ProxyURL* cadeia 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

Com suporte nas versões 1809 e posteriores do Windows.

Um script de exemplo para simplificar a configuração do valor ConfigurationRepositoryWeb para nós locais está disponível – consulte Gerando 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 Description
Credential MSFT_Credential A credencial usada para autenticar no compartilhamento SMB.
SourcePath cadeia O caminho do compartilhamento SMB.

Blocos do servidor de recursos

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

Propriedade Tipo Description
AllowUnsecureConnection bool Defina como $TRUE para permitir conexões do nó com o servidor sem autenticação. Defina como $FALSE para exigir autenticação.
ID do certificado cadeia A impressão digital de um certificado usado para autenticar no servidor.
Chave de registro cadeia Um GUID que identifica o nó para o serviço de pull.
URL do servidor cadeia A URL do servidor de configuração.
ProxyURL* cadeia 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

Com suporte nas versões 1809 e posteriores do Windows.

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

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

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 pull SMB DSC
SourcePath cadeia O caminho do compartilhamento SMB.

Blocos de 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 Description
AllowUnsecureConnection bool Defina como $TRUE para permitir conexões do nó com o servidor sem autenticação. Defina como $FALSE para exigir autenticação.
ID do certificado cadeia A impressão digital de um certificado usado para autenticar no servidor.
Chave de registro cadeia Um GUID que identifica o nó para o serviço de pull.
URL do servidor cadeia A URL do servidor de configuração.
ProxyURL* cadeia 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

Com suporte nas versões 1809 e posteriores do Windows.

Um script de exemplo para simplificar a configuração do valor ReportServerWeb para nós locais está disponível – consulte Gerando metaconfigurações de 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 propriedades a seguir.

Propriedade Tipo Description
Origem da configuração cadeia de caracteres[] Uma matriz de nomes de servidores de configuração, definidos anteriormente nos blocos ConfigurationRepositoryWeb e ConfigurationRepositoryShare , de onde a configuração parcial é extraída.
Depende corda{} Uma lista de nomes de outras configurações que devem ser concluídas antes que essa configuração parcial seja aplicada.
Description cadeia Texto usado para descrever a configuração parcial.
Recursos exclusivos cadeia de caracteres[] Uma matriz de recursos exclusiva para essa configuração parcial.
Modo de atualização cadeia 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 do nó são enviadas ou extraídas de um serviço, a configuração pode ser iniciada chamando Start-DscConfiguration –UseExisting. Esse é o valor padrão.
  • Puxar: O nó é configurado para verificar regularmente a configuração parcial de um serviço de pull. Se essa propriedade estiver definida como Pull, você deverá especificar um serviço de pull em uma propriedade ConfigurationSource . Para obter mais informações sobre o serviço de pull da Automação do Azure, consulte Visão geral do DSC da Automação do Azure.
Fonte_do_Módulo_de_Recursos cadeia de caracteres[] 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

há suporte para configurações parciais 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ó.

Consulte Também

Conceitos

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

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

Outros recursos

Set-DscLocalConfigurationManager

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