Configurando o Gerenciador de Configurações LocalConfiguring the Local Configuration Manager

Aplica-se a: Windows PowerShell 5.0Applies To: Windows PowerShell 5.0

O Gerenciador de Configurações Local (LCM) é o mecanismo da Configuração de Estado Desejado (DSC) do Windows PowerShell.The Local Configuration Manager (LCM) is the engine of Windows PowerShell Desired State Configuration (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ó.The LCM runs on every target node, and is responsible for parsing and enacting configurations that are sent to the node. Também é responsável por uma série de outros aspectos da DSC, incluindo os itens a seguir.It is also responsible for a number of other aspects of DSC, including the following.

  • Determinar o modo de atualização (push ou pull).Determining refresh mode (push or pull).
  • Especificar com que frequência um nó recebe e aplica as configurações.Specifying how often a node pulls and enacts configurations.
  • Associar o nó com servidores de pull.Associating the node with pull servers.
  • Especificar configurações parciais.Specifying partial configurations.

Um tipo especial de configuração é utilizado para configurar o LCM para especificar cada um desses comportamentos.You use a special type of configuration to configure the LCM to specify each of these behaviors. As seções a seguir descrevem como configurar o LCM.The following sections describe how to configure the LCM.

Observação: este tópico se aplica ao LCM introduzido no Windows PowerShell 5.0.Note: This topic applies to the LCM introduced in Windows PowerShell 5.0. Para obter informações sobre como configurar o LCM no Windows PowerShell 4.0, consulte o Gerenciador de Configurações Local (LCM) de Configuração de Estado Desejado do Windows PowerShell 4.0.For information about configuring the LCM in Windows PowerShell 4.0, see Windows PowerShell 4.0 Desired State Configuration Local Configuration Manager.

Escrevendo e aplicando uma configuração do LCMWriting and enacting an LCM configuration

Para configurar o LCM, você cria e executa um tipo especial de configuração.To configure the LCM, you create and run a special type of configuration. Para especificar uma configuração do LCM, é necessário usar o atributo DscLocalConfigurationManager.To specify an LCM configuration, you use the DscLocalConfigurationManager attribute. Segue uma configuração simples que define o LCM para o modo de push.The following shows a simple configuration that sets the LCM to push mode.

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

Você chama e executa a configuração para criar o MOF de configuração, como faria com uma configuração normal (para obter informações sobre como criar o MOF de configuração, consulte Compilando a configuração).You call and run the configuration to create the configuration MOF, just as you would a normal configuration (for information on creating the configuration MOF, see Compiling the configuration). Ao contrário de configurações normais, você não aplica uma configuração do LCM chamando o cmdlet Start-DscConfiguration.Unlike normal configurations, you do not enact an LCM configuration by calling the Start-DscConfiguration cmdlet. Em vez disso, você chama o cmdlet Set-DscLocalConfigurationManager, fornecendo o caminho até o MOF de configuração como parâmetro.Instead, you call the Set-DscLocalConfigurationManager cmdlet, supplying the path to the configuration MOF as a parameter. Depois de aplicar a configuração, você pode ver as propriedades do LCM chamando o cmdlet Get-DscLocalConfigurationManager.After you enact the configuration, you can see the properties of the LCM by calling the Get-DscLocalConfigurationManager cmdlet.

Uma configuração do LCM pode conter blocos somente para um conjunto limitado de recursos.An LCM configuration can contain blocks only for a limited set of resources. No exemplo anterior, o único recurso chamado é Settings.In the previous example, the only resource called is Settings. Os outros recursos disponíveis são:The other available resources are:

  • ConfigurationRepositoryWeb: especifica um servidor de pull de HTTP para configurações.ConfigurationRepositoryWeb: specifies an HTTP pull server for configurations.
  • ConfigurationRepositoryShare: especifica um servidor de pull de SMB para configurações.ConfigurationRepositoryShare: specifies an SMB pull server for configurations.
  • ResourceRepositoryWeb: especifica um servidor de pull de HTTP para os módulos.ResourceRepositoryWeb: specifies an HTTP pull server for modules.
  • ResourceRepositoryShare: especifica um servidor de pull de SMB para os módulos.ResourceRepositoryShare: specifies an SMB pull server for modules.
  • ReportServerWeb: especifica um servidor de pull de HTTP para o qual os relatórios serão enviados.ReportServerWeb: specifies an HTTP pull server to which reports are sent.
  • PartialConfiguration: especifica configurações parciais.PartialConfiguration: specifies partial configurations.

Configurações básicasBasic settings

Além de especificar servidores de pull e configurações parciais, todas as propriedades do LCM são configuradas em um bloco Settings.Other than specifying pull servers and partial configurations, all of the properties of the LCM are configured in a Settings block. As seguintes propriedades estão disponíveis em um bloco Settings.The following properties are available in a Settings block.

PropriedadeProperty TipoType DescriçãoDescription
ConfigurationModeFrequencyMinsConfigurationModeFrequencyMins UInt32UInt32 A frequência, em minutos, em que a configuração atual é verificada e aplicada.How often, in minutes, the current configuration is checked and applied. Essa propriedade será ignorada se a propriedade ConfigurationMode estiver definida como ApplyOnly.This property is ignored if the ConfigurationMode property is set to ApplyOnly. O valor padrão é 15.The default value is 15.
RebootNodeIfNeededRebootNodeIfNeeded boolbool Defina como $true para reinicializar automaticamente o nó após uma configuração que requer que a reinicialização seja aplicada.Set this to $true to automatically reboot the node after a configuration that requires reboot is applied. Caso contrário, você precisará reinicializar manualmente o nó para qualquer configuração que exigir.Otherwise, you will have to manually reboot the node for any configuration that requires it. O valor padrão é $false.The default value is $false.
ConfigurationModeConfigurationMode cadeia de caracteresstring Especifica como o LCM realmente aplica a configuração aos nós de destino.Specifies how the LCM actually applies the configuration to the target nodes. Os valores possíveis são "ApplyOnly", "ApplyandMonitior" e "ApplyandAutoCorrect".Possible values are "ApplyOnly","ApplyandMonitior", and "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 servidor.ApplyOnly: DSC applies the configuration and does nothing further unless a new configuration is pushed to the target node or when a new configuration is pulled from a server. Depois da aplicação inicial de uma nova configuração, a DSC não procura um dessincronização em relação a um estado previamente configurado.After initial application of a new configuration, DSC does not check for drift from a previously configured state. Observe que a DSC tentará aplicar a configuração até obter êxito antes que ApplyOnly entre em vigor.Note that DSC will attempt to apply the configuration until it is successful before ApplyOnly takes effect.
  • ApplyAndMonitor: este é o valor padrão.ApplyAndMonitor: This is the default value. O LCM aplica as novas configurações.The LCM applies any new configurations. 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.After initial application of a new configuration, if the target node drifts from the desired state, DSC reports the discrepancy in logs. Observe que a DSC tentará aplicar a configuração até obter êxito antes que ApplyAndMonitor entre em vigor.Note that DSC will attempt to apply the configuration until it is successful before ApplyAndMonitor takes effect.
  • ApplyAndAutoCorrect: a DSC aplica as novas configurações.ApplyAndAutoCorrect: DSC applies any new configurations. 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.After initial application of a new configuration, if the target node drifts from the desired state, DSC reports the discrepancy in logs, and then re-applies the current configuration.
ActionAfterRebootActionAfterReboot cadeia de caracteresstring Especifica o que acontece após uma reinicialização durante a aplicação de uma configuração.Specifies what happens after a reboot during the application of a configuration. Os valores possíveis são "ContinueConfiguration" e "StopConfiguration".The possible values are "ContinueConfiguration" and "StopConfiguration".
  • ContinueConfiguration: continue a aplicar a configuração atual após a reinicialização do computador.ContinueConfiguration: Continue applying the current configuration after machine reboot. Este é o valor padrãoThis is the default falue
  • StopConfiguration: interrompa a configuração atual após a reinicialização do computador.StopConfiguration: Stop the current configuration after machine reboot.
RefreshModeRefreshMode cadeia de caracteresstring Especifica como o LCM obtém as configurações.Specifies how the LCM gets configurations. Os valores possíveis são "Disabled", "Push" e "Pull".The possible values are "Disabled", "Push", and "Pull".
  • Disabled: as configurações DSC estão desabilitadas para este nó.Disabled: DSC configurations are disabled for this node.
  • Push: as configurações são iniciadas chamando o cmdlet Start-DscConfiguration.Push: Configurations are initiated by calling the Start-DscConfiguration cmdlet. A configuração é aplicada imediatamente ao nó.The configuration is applied immediately to the node. Este é o valor padrão.This is the default value.
  • Pull: o nó está configurado para verificar regularmente as configurações de um servidor de pull.Pull: The node is configured to regularly check for configurations from a pull server. Se essa propriedade estiver definida como Pull, você deverá especificar um servidor de pull em um bloco ConfigurationRepositoryWeb ou ConfigurationRepositoryShare.If this property is set to Pull, you must specify a pull server in a ConfigurationRepositoryWeb or ConfigurationRepositoryShare block. Para obter mais informações sobre servidores de pull, consulte Configurando um servidor de pull de DSC.For more information about pull servers, see Setting up a DSC pull server.
CertificateIDCertificateID cadeia de caracteresstring A impressão digital de um certificado usado para proteger as credenciais passadas em uma configuração.The thumbprint of a certificate used to secure credentials passed in a configuration. Para obter mais informações, consulte Quer proteger credenciais na Configuração de Estado Desejado do Windows PowerShell?.For more information see Want to secure credentials in Windows PowerShell Desired State Configuration?.
ConfigurationIDConfigurationID cadeia de caracteresstring Um GUID que identifica o arquivo de configuração que deve ser obtido de um servidor de pull no modo de pull.A GUID that identifies the configuration file to get from a pull server in pull mode. O nó efetuará o pull das configurações no servidor de pull se o nome do MOF de configuração for ConfigurationID.mof.The node will pull configurations on the pull server if the name of the configuration MOF is named ConfigurationID.mof.
Observação: se você definir essa propriedade, registrar o nó com um servidor de pull usando RegistrationKey não funcionará.Note: If you set this property, registering the node with a pull server by using RegistrationKey does not work. Para obter mais informações, consulte Configurando um cliente de pull com nomes de configuração.For more information, see Setting up a pull client with configuration names.
RefreshFrequencyMinsRefreshFrequencyMins Uint32Uint32 O intervalo de tempo, em minutos, em que o LCM verifica um servidor de pull para obter configurações atualizadas.The time interval, in minutes, at which the LCM checks a pull server to get updated configurations. Esse valor será ignorado se o LCM não estiver configurado no modo de pull.This value is ignored if the LCM is not configured in pull mode. O valor padrão é 30.The default value is 30.
AllowModuleOverwriteAllowModuleOverwrite boolbool $TRUE se as novas configurações baixadas do servidor de configuração tiverem permissão para substituir as antigas no nó de destino.$TRUE if new configurations downloaded from the configuration server are allowed to overwrite the old ones on the target node. Caso contrário, $FALSE.Otherwise, $FALSE.
DebugModeDebugMode cadeia de caracteresstring Os valores possíveis são None, ForceModuleImport e All.Possible values are None, ForceModuleImport, and All.
  • Defina como None para usar os recursos armazenados em cache.Set to None to use cached resources. Este é o padrão e deve ser usada em cenários de produção.This is the default and should be used in production scenarios.
  • 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.Setting to ForceModuleImport, causes the LCM to reload any DSC resource modules, even if they have been previously loaded and cached. Isso afeta o desempenho das operações de DSC, já que cada módulo é recarregado no momento do uso.This impacts the performance of DSC operations as each module is reloaded on use. Normalmente, você usaria esse valor durante a depuração de um recursoTypically you would use this value while debugging a resource
  • Nesta versão, All é o mesmo que ForceModuleImportIn this release, All is same as ForceModuleImport
ConfigurationDownloadManagersConfigurationDownloadManagers CimInstance[]CimInstance[] Obsoleto.Obsolete. Use os blocos ConfigurationRepositoryWeb e ConfigurationRepositoryShare para definir servidores de pull de configuração.Use ConfigurationRepositoryWeb and ConfigurationRepositoryShare blocks to define configuration pull servers.
ResourceModuleManagersResourceModuleManagers CimInstance[]CimInstance[] Obsoleto.Obsolete. Use os blocos ResourceRepositoryWeb e ResourceRepositoryShare para definir servidores de pull de recurso.Use ResourceRepositoryWeb and ResourceRepositoryShare blocks to define resource pull servers.
ReportManagersReportManagers CimInstance[]CimInstance[] Obsoleto.Obsolete. Use os blocos ReportServerWeb para definir servidores de relatório.Use ReportServerWeb blocks to define report pull servers.
PartialConfigurationsPartialConfigurations CimInstanceCimInstance Não foi implementado.Not implemented. Não use.Do not use.
StatusRetentionTimeInDaysStatusRetentionTimeInDays UInt32UInt32 O número de dias que o LCM mantém o status da configuração atual.The number of days the LCM keeps the status of the current configuration.

Servidores de pullPull servers

Um servidor de pull é um serviço Web OData ou um compartilhamento SMB que é usado como local central para arquivos de DSC.A pull server is either an OData web service or an SMB share that is used as a central location for DSC files. A configuração do LCM dá suporte para definir os seguintes tipos de servidores de pull:LCM configuration supports defining the following types of pull servers:

  • Servidor de configuração: um repositório de configurações DSC.Configuration server: A repository for DSC configurations. Defina os servidores de configuração usando blocos ConfigurationRepositoryWeb (para servidores baseados na Web) e ConfigurationRepositoryShare (para servidores baseados em SMB).Define configuration servers by using ConfigurationRepositoryWeb (for web-based servers) and ConfigurationRepositoryShare (for SMB-based servers) blocks.
  • Servidor de recursos — um repositório de recursos de DSC, empacotados como módulos do PowerShell.Resource server—A repository for DSC resources, packaged as PowerShell modules. Defina os servidores de recurso usando blocos ResourceRepositoryWeb (para servidores baseados na Web) e ResourceRepositoryShare (para servidores baseados em SMB).Define resource servers by using ResourceRepositoryWeb (for web-based servers) and ResourceRepositoryShare (for SMB-based servers) blocks.
  • Servidor de relatório — um serviço para o qual a DSC envia dados de relatório.Report server—A service that DSC sends report data to. Defina os servidores de relatório usando blocos ReportServerWeb.Define report servers by using ReportServerWeb blocks. Um servidor de relatório deve ser um serviço Web.A report server must be a web service.

Para obter informações sobre a configuração e o uso de servidores de pull, consulte Configurando um servidor de pull de DSC.For information about setting up and using pull servers, see Setting up a DSC pull server.

Blocos do servidor de configuraçãoConfiguration server blocks

Para definir um servidor de configuração baseado na Web, crie um bloco ConfigurationRepositoryWeb.To define a web-based configuration server, you create a ConfigurationRepositoryWeb block. Um ConfigurationRepositoryWeb define as propriedades a seguir.A ConfigurationRepositoryWeb defines the following properties.

PropriedadeProperty TipoType DescriçãoDescription
AllowUnsecureConnectionAllowUnsecureConnection boolbool Defina como $TRUE para permitir conexões entre o nó e o servidor sem autenticação.Set to $TRUE to allow connections from the node to the server without authentication. Defina como $FALSE para exigir autenticação.Set to $FALSE to require authentication.
CertificateIDCertificateID cadeia de caracteresstring A impressão digital de um certificado usado para autenticar o servidor.The thumbprint of a certificate used to authenticate to the server.
ConfigurationNamesConfigurationNames String[]String[] Uma matriz de nomes de configurações que serão retiradas por pull pelo nó de destino.An array of names of configurations to be pulled by the target node. Serão usadas apenas se o nó for registrado com o servidor de pull usando uma RegistrationKey.These are used only if the node is registered with the pull server by using a RegistrationKey. Para obter mais informações, consulte Configurando um cliente de pull com nomes de configuração.For more information, see Setting up a pull client with configuration names.
RegistrationKeyRegistrationKey cadeia de caracteresstring Um GUID que registra o nó com o servidor de pull.A GUID that registers the node with the pull server. Para obter mais informações, consulte Configurando um cliente de pull com nomes de configuração.For more information, see Setting up a pull client with configuration names.
ServerURLServerURL cadeia de caracteresstring A URL do servidor de configuração.The URL of the configuration server.

Para definir um servidor de configuração baseado em SMB, crie um bloco ConfigurationRepositoryShare.To define an SMB-based configuration server, you create a ConfigurationRepositoryShare block. Um ConfigurationRepositoryShare define as propriedades a seguir.A ConfigurationRepositoryShare defines the following properties.

PropriedadeProperty TipoType DescriçãoDescription
CredentialCredential MSFT_CredentialMSFT_Credential A credencial usada para autenticar para o compartilhamento SMB.The credential used to authenticate to the SMB share.
SourcePathSourcePath cadeia de caracteresstring O caminho do compartilhamento SMB.The path of the SMB share.

Blocos do servidor de recursoResource server blocks

Para definir um servidor de recurso baseado na Web, crie um bloco ResourceRepositoryWeb.To define a web-based resource server, you create a ResourceRepositoryWeb block. Um ResourceRepositoryWeb define as propriedades a seguir.A ResourceRepositoryWeb defines the following properties.

PropriedadeProperty TipoType DescriçãoDescription
AllowUnsecureConnectionAllowUnsecureConnection boolbool Defina como $TRUE para permitir conexões entre o nó e o servidor sem autenticação.Set to $TRUE to allow connections from the node to the server without authentication. Defina como $FALSE para exigir autenticação.Set to $FALSE to require authentication.
CertificateIDCertificateID cadeia de caracteresstring A impressão digital de um certificado usado para autenticar o servidor.The thumbprint of a certificate used to authenticate to the server.
RegistrationKeyRegistrationKey cadeia de caracteresstring Um GUID que identifica o nó para o servidor de pull.A GUID that identifies the node to the pull server. Para obter mais informações, consulte Como registrar um nó com um servidor de pull de DSC.For more information, see How to register a node with a DSC pull server.
ServerURLServerURL cadeia de caracteresstring A URL do servidor de configuração.The URL of the configuration server.

Para definir um servidor de recurso baseado em SMB, crie um bloco ResourceRepositoryShare.To define an SMB-based resource server, you create a ResourceRepositoryShare block. ResourceRepositoryShare define as propriedades a seguir.ResourceRepositoryShare defines the following properties.

PropriedadeProperty TipoType DescriçãoDescription
CredentialCredential MSFT_CredentialMSFT_Credential A credencial usada para autenticar para o compartilhamento SMB.The credential used to authenticate to the SMB share. Para obter um exemplo de passagem de credenciais, consulte Configurando um servidor de pull de SMB para DSCFor an example of passing credentials, see Setting up a DSC SMB pull server
SourcePathSourcePath cadeia de caracteresstring O caminho do compartilhamento SMB.The path of the SMB share.

Blocos do servidor de relatórioReport server blocks

Um servidor de relatório deve ser um serviço Web OData.A report server must be an OData web service. Para definir um servidor de relatório, crie um bloco ReportServerWeb.To define a report server, you create a ReportServerWeb block. ReportServerWeb define as propriedades a seguir.ReportServerWeb defines the following properties.

PropriedadeProperty TipoType DescriçãoDescription
AllowUnsecureConnectionAllowUnsecureConnection boolbool Defina como $TRUE para permitir conexões entre o nó e o servidor sem autenticação.Set to $TRUE to allow connections from the node to the server without authentication. Defina como $FALSE para exigir autenticação.Set to $FALSE to require authentication.
CertificateIDCertificateID cadeia de caracteresstring A impressão digital de um certificado usado para autenticar o servidor.The thumbprint of a certificate used to authenticate to the server.
RegistrationKeyRegistrationKey cadeia de caracteresstring Um GUID que identifica o nó para o servidor de pull.A GUID that identifies the node to the pull server. Para obter mais informações, consulte Como registrar um nó com um servidor de pull de DSC.For more information, see How to register a node with a DSC pull server.
ServerURLServerURL cadeia de caracteresstring A URL do servidor de configuração.The URL of the configuration server.

Configurações parciaisPartial configurations

Para definir uma configuração parcial, você cria um bloco PartialConfiguration.To define a partial configuration, you create a PartialConfiguration block. Para obter mais informações sobre configurações parciais, consulte Configurações parciais de DSC.For more information about partial configurations, see DSC Partial configurations. PartialConfiguration define as propriedades a seguir.PartialConfiguration defines the following properties.

PropriedadeProperty TipoType DescriçãoDescription
ConfigurationSourceConfigurationSource string[]string[] Uma matriz de nomes de servidores de configuração, definidos previamente nos blocos ConfigurationRepositoryWeb e ConfigurationRepositoryShare, dos quais a configuração parcial é retirada.An array of names of configuration servers, previously defined in ConfigurationRepositoryWeb and ConfigurationRepositoryShare blocks, where the partial configuration is pulled from.
DependsOnDependsOn string{}string{} Uma lista de nomes de outras configurações que devem ser concluídas antes que essa configuração parcial seja aplicada.A list of names of other configurations that must be completed before this partial configuration is applied.
DescriçãoDescription cadeia de caracteresstring Texto usado para descrever a configuração parcial.Text used to describe the partial configuration.
ExclusiveResourcesExclusiveResources string[]string[] Uma matriz de recursos exclusivos para essa configuração parcial.An array of resources exclusive to this partial configuration.
RefreshModeRefreshMode cadeia de caracteresstring Especifica como o LCM obtém essa configuração parcial.Specifies how the LCM gets this partial configuration. Os valores possíveis são "Disabled", "Push" e "Pull".The possible values are "Disabled", "Push", and "Pull".
  • Disabled: esta configuração parcial está desabilitada.Disabled: This partial configuration is disabled.
  • Push: a configuração parcial é enviada por push para o nó ao chamar o cmdlet Publish-DscConfiguration.Push: The partial configuration is pushed to the node by calling the Publish-DscConfiguration cmdlet. Depois que todas as configurações parciais para o nó são enviadas por push ou recebidas por pull de um servidor, a configuração pode ser iniciada chamando Start-DscConfiguration –UseExisting.After all partial configurations for the node are either pushed or pulled from a server, the configuration can be started by calling Start-DscConfiguration –UseExisting. Este é o valor padrão.This is the default value.
  • Pull: o nó é configurado para verificar regularmente a configuração parcial de um servidor de pull.Pull: The node is configured to regularly check for partial configuration from a pull server. Se essa propriedade for definida como Pull, você deverá especificar um servidor de pull em uma propriedade ConfigurationSource.If this property is set to Pull, you must specify a pull server in a ConfigurationSource property. Para obter mais informações sobre servidores de pull, consulte Configurando um servidor de pull de DSC.For more information about pull servers, see Setting up a DSC pull server.
ResourceModuleSourceResourceModuleSource string[]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.An array of the names of resource servers from which to download required resources for this partial configuration. Esses nomes devem se referir a servidores de recurso definidos previamente nos blocos ResourceRepositoryWeb e ResourceRepositoryShare.These names must refer to resource servers previously defined in ResourceRepositoryWeb and ResourceRepositoryShare blocks.

Consulte TambémSee Also

ConceitosConcepts

Visão Geral da Configuração de Estado Desejado do Windows PowerShellWindows PowerShell Desired State Configuration Overview

Configurando um servidor de pull de DSCSetting up a DSC pull server

Gerenciador de Configurações Local de Configuração de Estado Desejado do Windows PowerShell 4.0Windows PowerShell 4.0 Desired State Configuration Local Configuration Manager

Outros recursosOther Resources

Set-DscLocalConfigurationManagerSet-DscLocalConfigurationManager

Configurando um cliente de pull com nomes de configuraçãoSetting up a pull client with configuration names