Partilhar via


Configurar o LCM no PowerShell 4.0

Aplica-se a: Windows PowerShell 4.0

Para obter informações relacionadas com o Windows PowerShell 5.0 e posterior, consulte Configurar a Configuration Manager Local.

A Configuration Manager local é o motor de Windows PowerShell Desired State Configuration (DSC). É executado em todos os nós de destino e é responsável por chamar os recursos de configuração incluídos num script de configuração do DSC. Este tópico lista as propriedades da Configuration Manager Local e descreve como pode modificar as definições de Configuration Manager Local num nó de destino.

Propriedades de Configuration Manager local

O seguinte lista as propriedades local Configuration Manager que pode definir ou obter.

  • AllowModuleOverwrite: controla se as novas configurações transferidas do serviço de configuração podem substituir as antigas no nó de destino. Os valores possíveis são Verdadeiro e Falso.
  • CertificateID: o thumbprint de um certificado utilizado para proteger as credenciais transmitidas numa configuração. Para obter mais informações, consulte Pretende proteger as credenciais no Windows PowerShell Desired State Configuration?.
  • ConfigurationID: indica um GUID que é utilizado para obter um ficheiro de configuração específico a partir de um serviço pull. O GUID garante que é acedido o ficheiro de configuração correto.
  • ConfigurationMode: especifica como a Configuration Manager Local aplica a configuração aos nós de destino. Pode utilizar os seguintes valores:
    • ApplyOnly: com esta opção, o DSC aplica a configuração e não faz mais nada, a menos que seja detetada uma nova configuração, quer através do envio de uma nova configuração diretamente para o nó de destino, quer se estiver a ligar a um serviço pull e o DSC detetar uma nova configuração quando verifica com o serviço pull. Se a configuração do nó de destino desfasar, não é tomada nenhuma ação.
    • ApplyAndMonitor: com esta opção (que é a predefinição), o DSC aplica quaisquer novas configurações, quer sejam enviadas diretamente para o nó de destino ou detetadas num serviço pull. Depois disso, se a configuração do nó de destino se desviar do ficheiro de configuração, o DSC comunica a discrepância nos registos. Para obter mais informações sobre o registo do DSC, veja Utilizar Registos de Eventos para Diagnosticar Erros no Desired State Configuration.
    • ApplyAndAutoCorrect: com esta opção, o DSC aplica quaisquer novas configurações, quer sejam enviadas diretamente para o nó de destino ou detetadas num serviço pull. Depois disso, se a configuração do nó de destino se desviar do ficheiro de configuração, o DSC comunica a discrepância nos registos e, em seguida, tenta ajustar a configuração do nó de destino para obter a conformidade com o ficheiro de configuração.
  • ConfigurationModeFrequencyMins: representa a frequência (em minutos) na qual a aplicação em segundo plano do DSC tenta implementar a configuração atual no nó de destino. O valor predefinido é 15. Este valor pode ser definido em conjunto com RefreshMode. Quando RefreshMode está definido como PULL, o nó de destino contacta o serviço de configuração num intervalo definido por RefreshFrequencyMins e transfere a configuração atual. Independentemente do valor RefreshMode, no intervalo definido por ConfigurationModeFrequencyMins, o motor de consistência aplica a configuração mais recente que foi transferida para o nó de destino. RefreshFrequencyMins deve ser definido como um número inteiro múltiplo de ConfigurationModeFrequencyMins.
  • Credencial: indica as credenciais (como com Get-Credential) necessárias para aceder a recursos remotos, como para contactar o serviço de configuração.
  • DownloadManagerCustomData: representa uma matriz que contém dados personalizados específicos do gestor de transferências.
  • DownloadManagerName: indica o nome do gestor de transferência de configuração e módulo.
  • RebootNodeIfNeeded: defina esta opção para $true permitir que os recursos reiniciem o Nó com o $global:DSCMachineStatus sinalizador . Caso contrário, terá de reiniciar manualmente o nó para qualquer configuração que o exija. O valor predefinido é $false. Para utilizar esta definição quando uma condição de reinício é decretada por algo diferente de DSC (como o Windows Installer), combine esta definição com o módulo xPendingReboot .
  • RefreshFrequencyMins: utilizado quando configurou um serviço pull. Representa a frequência (em minutos) em que o local Configuration Manager contacta um serviço pull para transferir a configuração atual. Este valor pode ser definido em conjunto com ConfigurationModeFrequencyMins. Quando RefreshMode está definido como PULL, o nó de destino contacta o serviço pull num intervalo definido por RefreshFrequencyMins e transfere a configuração atual. No intervalo definido por ConfigurationModeFrequencyMins, o motor de consistência aplica a configuração mais recente que foi transferida para o nó de destino. Se RefreshFrequencyMins não estiver definido para um múltiplo inteiro de ConfigurationModeFrequencyMins, o sistema irá arredorá-lo. O valor predefinido é 30.
  • RefreshMode: os valores possíveis são Push (a predefinição) e Pull. Na configuração "push", tem de colocar um ficheiro de configuração em cada nó de destino, utilizando qualquer computador cliente. No modo "pull", tem de configurar um serviço de solicitação para Configuration Manager Local para contactar e aceder aos ficheiros de configuração.

Nota

O LCM inicia o ciclo ConfigurationModeFrequencyMins com base em:

  • É aplicada uma nova metaconfig com Set-DscLocalConfigurationManager
  • Um reinício do computador

Para qualquer condição em que o processo de temporizador tenha uma falha, esta será detetada 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 desta operação exceder a frequência de ciclo configurada, o temporizador seguinte não será iniciado.

Por exemplo, a metaconfig é configurada com uma frequência de solicitação de 15 minutos e ocorre uma solicitação em T1. O Nó não termina o trabalho durante 16 minutos. O primeiro ciclo de 15 minutos é ignorado e a próxima solicitação ocorrerá em T1+15+15.

Exemplo de atualização das definições de Configuration Manager Local

Pode atualizar as definições de Configuration Manager Local de um nó de destino ao incluir um bloco LocalConfigurationManager dentro do bloco de nó num script de configuração, conforme mostrado no exemplo seguinte.

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"

Executar o script no exemplo anterior gera um ficheiro MOF que especifica e armazena as definições pretendidas. Para aplicar as definições, pode utilizar o cmdlet Set-DscLocalConfigurationManager , conforme mostrado no exemplo seguinte.

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

Nota

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

Para ver as definições de Configuration Manager Local atuais, pode utilizar o cmdlet Get-DscLocalConfigurationManager. Se invocar este cmdlet sem parâmetros, por predefinição, obterá as definições de Configuration Manager Local para o nó no qual o executa. Para especificar outro nó, utilize o parâmetro CimSession com este cmdlet.