适用于 Windows 的 Desired State Configuration (DSC) 入门

本文介绍如何开始使用适用于 Windows 的 PowerShell Desired State Configuration (DSC) 。 有关 DSC 的常规信息,请参阅 Windows PowerShell Desired State Configuration 入门

支持的 Windows 操作系统版本

支持以下版本:

  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows 11
  • Windows 10

Microsoft Hyper-V Server 独立产品不包含 Desired State Configuration 的实现,因此无法使用 PowerShell DSC 或Azure 自动化 State Configuration对其进行管理。

安装 DSC

PowerShell Desired State Configuration 包含在 Windows 中,并通过 Windows Management Framework 进行更新。 最新版本为 Windows Management Framework 5.1

注意

无需启用 Windows Server 功能“DSC-Service”,就可以使用 DSC 管理计算机。 只有在生成 Windows 拉取服务器实例时,才需要此功能。

使用适用于 Windows 的 DSC

下面几个部分介绍了如何在 Windows 计算机上创建和运行 DSC 配置。

创建配置 MOF 文档

Windows PowerShell Configuration 关键字用于创建配置。 下面逐步介绍了如何使用 Windows PowerShell 创建配置文档。

安装包含 DSC 资源的模块

Windows PowerShell Desired State Configuration 有包含 DSC 资源的内置模块。 也可以使用 PowerShellGet cmdlet 从 PowerShell 库等外部源加载模块。

Install-Module 'PSDscResources' -Verbose

定义配置并生成配置文档:

Configuration EnvironmentVariable_Path
{
    param ()

    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost
    {
        Environment CreatePathEnvironmentVariable
        {
            Name = 'TestPathEnvironmentVariable'
            Value = 'TestValue'
            Ensure = 'Present'
            Path = $true
            Target = @('Process', 'Machine')
        }
    }
}

EnvironmentVariable_Path -OutputPath:"./EnvironmentVariable_Path"

将配置应用于计算机

注意

即使在运行 localhost 配置的情况下,也需要将 Windows 配置为接收 PowerShell 远程命令,以允许 DSC 运行。 若要正确配置环境,请直接 Set-WsManQuickConfig -Force 在提升的 PowerShell 终端中。

可以使用 Start-DscConfiguration cmdlet 将配置文档 (MOF 文件) 应用到计算机。

Start-DscConfiguration -Path 'C:\EnvironmentVariable_Path' -Wait -Verbose

获取配置的当前状态

Get-DscConfiguration cmdlet 可查询计算机的当前状态,并返回配置的当前值。

Get-DscConfiguration

Get-DscLocalConfigurationManager cmdlet 可返回应用于计算机的当前元配置。

Get-DscLocalConfigurationManager

从计算机中删除当前配置

Remove-DscConfigurationDocument

Remove-DscConfigurationDocument -Stage Current -Verbose

在本地配置管理器中配置设置

使用 Set-DSCLocalConfigurationManager cmdlet 将元配置 MOF 文件应用于计算机。 需要元配置 MOF 的路径。

Set-DSCLocalConfigurationManager -Path 'c:\metaconfig\localhost.meta.mof' -Verbose

Windows PowerShell Desired State Configuration 日志文件

DSC 的日志将写入 Microsoft-Windows-Dsc/Operational Windows 事件日志。 可以按照 DSC 事件日志的位置中的步骤启用其他日志以进行调试。