在 PowerShell 4.0 中配置 LCM

适用于:Windows PowerShell 4.0

有关 Windows PowerShell 5.0 及更高版本的信息,请参阅 配置本地配置管理器

本地配置管理器是 Windows PowerShell 所需状态配置 (DSC) 引擎。 它在所有目标节点上运行,并负责调用 DSC 配置脚本中包含的配置资源。 本主题列出了本地 Configuration Manager 的属性,并介绍了如何修改目标节点上的本地 Configuration Manager 设置。

本地 Configuration Manager 属性

下面列出了可以设置或检索的本地配置管理器属性。

  • AllowModuleOverwrite:控制是否允许从配置服务下载的新配置覆盖目标节点上的旧配置。 可能的值为 True 和 False。
  • CertificateID:用于保护配置中传递的凭据的证书的指纹。 有关详细信息,请参阅 想要在 Windows PowerShell 所需状态配置中保护凭据?
  • ConfigurationID:指示用于从拉取服务获取特定配置文件的 GUID。 GUID 可确保访问正确的配置文件。
  • ConfigurationMode:指定本地配置管理器如何实际将配置应用于目标节点。 它可以采用以下值:
    • ApplyOnly:使用此选项时,DSC 会应用配置,除非检测到新配置,否则不会执行任何进一步作,方法是将新配置直接发送到目标节点,或者连接到拉取服务并且 DSC 在检查拉取服务时发现新配置。 如果目标节点的配置偏移,则不会执行任何作。
    • ApplyAndMonitor:使用此选项(这是默认值),DSC 会应用任何新配置,无论是由你直接发送到目标节点还是在拉取服务上发现。 此后,如果目标节点的配置偏离配置文件,DSC 会在日志中报告差异。 有关 DSC 日志记录的详细信息,请参阅使用 事件日志诊断所需状态配置中的错误
    • ApplyAndAutoCorrect:使用此选项,DSC 会应用任何新配置,无论是由你直接发送到目标节点还是在拉取服务上发现。 此后,如果目标节点的配置偏离配置文件,DSC 会在日志中报告差异,然后尝试调整目标节点配置以符合配置文件。
  • ConfigurationModeFrequencyMins:表示DSC的后台应用程序尝试在目标节点上实现当前配置的频率(以分钟为单位)。 默认值为 15。 此值可以与 RefreshMode 一起设置。 当 RefreshMode 设置为 PULL 时,目标节点将按照 RefreshFrequencyMins 设置的时间间隔联系配置服务并下载当前配置。 无论 RefreshMode 值如何,在 ConfigurationModeFrequencyMins 设置的时间间隔内,一致性引擎都会将下载到目标节点的最新配置应用。 RefreshFrequencyMins 应设置为 ConfigurationModeFrequencyMins 的整数倍。
  • 凭据:指示访问远程资源(例如联系配置服务)所需的凭据(与 Get-Credential一样)。
  • DownloadManagerCustomData:表示包含特定于下载管理器的自定义数据的数组。
  • DownloadManagerName:指示配置和模块下载管理器的名称。
  • RebootNodeIfNeeded:将此设置为 $true 允许资源使用标志重新 $global:DSCMachineStatus 启动节点。 否则,必须针对需要节点的任何配置手动重新启动节点。 默认值为 $false。 若要在 DSC 以外的内容 ((如 Windows Installer) ) 颁布重启条件时使用此设置,请将此设置与 xPendingReboot 模块结合使用。
  • RefreshFrequencyMins:设置拉取服务时使用。 表示本地配置管理器联系拉取服务以下载当前配置的频率(以分钟为单位)。 此值可以与 ConfigurationModeFrequencyMins 一起设置。 当 RefreshMode 设置为 PULL 时,目标节点将按照 RefreshFrequencyMins 设置的时间间隔联系拉取服务并下载当前配置。 然后,在 ConfigurationModeFrequencyMins 设置的时间间隔内,一致性引擎将下载的最新配置应用到目标节点。 如果 RefreshFrequencyMins 未设置为 ConfigurationModeFrequencyMins 的整数倍,系统将将其四舍五入。 默认值为 30。
  • RefreshMode:可能的值为 Push (默认值)和 Pull。 在“推送”配置中,必须使用任何客户端计算机在每个目标节点上放置一个配置文件。 在“拉取”模式下,必须为本地配置管理器设置拉取服务,以便访问和访问配置文件。

注释

LCM 根据以下内容启动 ConfigurationModeFrequencyMins 周期:

  • 使用 Set-DscLocalConfigurationManager
  • 机器重启

对于计时器进程发生崩溃的任何情况,将在 30 秒内检测到该崩溃,并将重新启动循环。 并发作可能会延迟周期的启动,如果此作的持续时间超过配置的周期频率,则下一个计时器将不会启动。

例如,元配置配置为 15 分钟的拉取频率,并在 T1 发生拉取。 节点在 16 分钟内未完成工作。 第一个 15 分钟周期被忽略,下一次拉动将在 T1+15+15 发生。

更新本地 Configuration Manager 设置的示例

可以通过在配置脚本中的节点块中包含 LocalConfigurationManager 块来更新目标节点的本地 Configuration Manager 设置,如以下示例所示。

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"

运行上一个示例中的脚本会生成一个 MOF 文件,该文件指定并存储所需的设置。 若要应用设置,可以使用 Set-DscLocalConfigurationManager cmdlet,如以下示例所示。

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

注释

对于 Path 参数,必须指定在上一个示例中调用配置时为 OutputPath 参数指定的相同路径。

若要查看当前本地 Configuration Manager 设置,可以使用 Get-DscLocalConfigurationManager cmdlet。 如果调用此 cmdlet 时不带任何参数,默认情况下,它将获取运行它的节点的本地 Configuration Manager 设置。 若要指定另一个节点,请将 CimSession 参数与此 cmdlet 一起使用。