Compartilhar via


Configurando o LCM no PowerShell 4.0

Aplica-se a: Windows PowerShell 4.0

Para obter informações relacionadas ao Windows PowerShell 5.0 e posterior, consulte Configurando o Gerenciador de Configurações Local.

O Local Configuration Manager é o mecanismo DSC (Configuração de Estado Desejado) do Windows PowerShell. Ele é executado em todos os nós de destino e é responsável por chamar os recursos de configuração incluídos em um script de configuração de DSC. Este tópico lista as propriedades do Local Configuration Manager e descreve como você pode modificar as configurações do Local Configuration Manager em um nó de destino.

Propriedades do Gerenciador de Configurações Local

A seguir, listamos as propriedades do Gerenciador de Configurações Local que você pode definir ou recuperar.

  • AllowModuleOverwrite: controla se as novas configurações baixadas do serviço de configuração têm permissão para substituir as antigas no nó de destino. Os valores possíveis são True e False.
  • CertificateID: 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?.
  • ConfigurationID: indica um GUID que é usado para obter um arquivo de configuração específico de um serviço de pull. O GUID garante que o arquivo de configuração correto seja acessado.
  • ConfigurationMode: especifica como o Gerenciador de Configurações Local realmente aplica a configuração aos nós de destino. Ele pode assumir os seguintes valores:
    • ApplyOnly: com essa opção, a DSC aplica a configuração e não faz mais nada, a menos que uma nova configuração seja detectada, enviando uma nova configuração diretamente para o nó de destino ou se você estiver se conectando a um serviço de pull e a DSC descobrir uma nova configuração quando verificar com o serviço de pull. Se a configuração do nó de destino for desviada, nenhuma ação será executada.
    • ApplyAndMonitor: com essa opção (que é o padrão), a DSC aplica todas as novas configurações, sejam enviadas por você diretamente para o nó de destino ou descobertas em um serviço de pull. Depois disso, se a configuração do nó de destino for desviada do arquivo de configuração, o DSC relatará a discrepância nos logs. Para obter mais informações sobre o log de DSC, consulte Usando logs de eventos para diagnosticar erros na configuração de estado desejado.
    • ApplyAndAutoCorrect: com essa opção, a DSC aplica todas as novas configurações, enviadas por você diretamente para o nó de destino ou descobertas em um serviço de pull. Depois disso, se a configuração do nó de destino se desviar do arquivo de configuração, o DSC relatará a discrepância nos logs e tentará ajustar a configuração do nó de destino para ficar em conformidade com o arquivo de configuração.
  • ConfigurationModeFrequencyMins: representa a frequência (em minutos) na qual o aplicativo em segundo plano do DSC tenta implementar a configuração atual no nó de destino. O valor padrão é 15. Esse valor pode ser definido em conjunto com RefreshMode. Quando RefreshMode é definido como PULL, o nó de destino entra em contato com o serviço de configuração em um intervalo definido por RefreshFrequencyMins e baixa a configuração atual. Independentemente do valor de RefreshMode, no intervalo definido por ConfigurationModeFrequencyMins, o mecanismo de consistência aplica a configuração mais recente que foi baixada para o nó de destino. RefreshFrequencyMins deve ser definido como um múltiplo inteiro de ConfigurationModeFrequencyMins.
  • Credencial: indica credenciais (como com Get-Credential) necessárias para acessar recursos remotos, como entrar em contato com o serviço de configuração.
  • DownloadManagerCustomData: representa uma matriz que contém dados personalizados específicos do gerenciador de downloads.
  • DownloadManagerName: Indica o nome do gerenciador de download de configuração e módulo.
  • RebootNodeIfNeeded: 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 módulo xPendingReboot .
  • RefreshFrequencyMins: usado quando você configurou um serviço de pull. Representa a frequência (em minutos) na qual o Gerenciador de Configurações Local entra em contato com um serviço de pull para baixar a configuração atual. Esse valor pode ser definido em conjunto com ConfigurationModeFrequencyMins. Quando RefreshMode é definido como PULL, o nó de destino entra em contato com o serviço de pull em um intervalo definido por RefreshFrequencyMins e baixa a configuração atual. No intervalo definido por ConfigurationModeFrequencyMins, o mecanismo de consistência aplica a configuração mais recente que foi baixada para o nó de destino. Se RefreshFrequencyMins não estiver definido como um múltiplo inteiro de ConfigurationModeFrequencyMins, o sistema irá arredondá-lo para cima. O valor padrão é 30.
  • RefreshMode: os valores possíveis são Push (o padrão) e Pull. Na configuração "push", você deve colocar um arquivo de configuração em cada nó de destino, usando qualquer computador cliente. No modo "pull", você deve configurar um serviço de pull para que o Local Configuration Manager entre em contato e acesse os arquivos de configuração.

Observação

O LCM inicia o ciclo ConfigurationModeFrequencyMins com base em:

  • Um novo metaconfig é 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.

Exemplo de atualização das configurações do Gerenciador de Configurações Local

Você pode atualizar as configurações do Gerenciador de Configurações Local de um nó de destino incluindo um bloco LocalConfigurationManager dentro do bloco de nó em um script de configuração, conforme mostrado no exemplo a seguir.

Configuration ExampleConfig
{
    Node "Server001"
    {
        LocalConfigurationManager
        {
            ConfigurationID = "646e48cb-3082-4a12-9fd9-f71b9a562d4e"
            ConfigurationModeFrequencyMins = 45
            ConfigurationMode = "ApplyAndAutocorrect"
            RefreshMode = "Pull"
            RefreshFrequencyMins = 90
            DownloadManagerName = "WebDownloadManager"
            DownloadManagerCustomData = (@{ServerUrl="https://$PullService/psdscpullserver.svc"})
            CertificateID = "71AA68562316FE3F73536F1096B85D66289ED60E"
            Credential = $cred
            RebootNodeIfNeeded = $true
            AllowModuleOverwrite = $false
        }
# One or more resource blocks can be added here
    }
}

# The following line invokes the configuration and creates a file called
# Server001.meta.mof at the specified path
ExampleConfig -OutputPath "c:\users\public\dsc"

A execução do script no exemplo anterior gera um arquivo MOF que especifica e armazena as configurações desejadas. Para aplicar as configurações, você pode usar o cmdlet Set-DscLocalConfigurationManager , conforme mostrado no exemplo a seguir.

Set-DscLocalConfigurationManager -Path "c:\users\public\dsc"

Observação

Para o parâmetro Path , você deve especificar o mesmo caminho que especificou para o parâmetro OutputPath quando invocou a configuração no exemplo anterior.

Para ver as configurações atuais do Gerenciador de Configurações Local, você pode usar o cmdlet Get-DscLocalConfigurationManager . Se você invocar esse cmdlet sem parâmetros, por padrão, ele obterá as configurações do Gerenciador de Configurações Local para o nó no qual você o executa. Para especificar outro nó, use o parâmetro CimSession com esse cmdlet.