本文是使用人工智能生成的技术说明与实现示例。所发布的代码和步骤基于一手信息构建,但作者并未在实机上进行运行验证。根据环境和版本的不同,运行表现可能会有所差异。
根据 Microsoft Desired State Configuration (DSC) v3.3.0 的官方发布,我们将梳理新增的功能、变更点以及主要命令的规范。本文旨在安全地全面了解 DSC v3.3.0,并解读官方提供的配置定义和新适配器的机制。
目的、前提与注意事项
本文目的
根据官方博客,梳理 DSC v3.3.0 中的新功能、Windows 资源扩展、CLI 变更点以及表达式函数的更新等,加深在实际环境中安全使用的知识。
前提与注意事项
本文内容基于官方公告,处于【实机验证前】的状态。
文中未展示在 Windows 环境中的具体执行结果,仅对官方信息的规范进行说明。
需要注意自旧版本以来发生变更的命令行选项(
--version到--required-version的迁移等)。
DSC v3.3.0 的主要新功能与组件
在 DSC v3.3.0 中,反映了实际环境中的使用以及来自社区的反馈,进行了许多功能增强。主要的组件如下。
flowchart TD
A["DSC v3.3.0 Release"] --> B["New Windows Resources"]
A --> C["New Adapter & Server Rename"]
A --> D["Expression Functions"]
A --> E["Expanded What-If & Firewall"]
A --> F["CLI & OSInfo Changes"]
B --> B1[RegistryList]
B --> B2[WindowsFeatureList]
B --> B3[Personalization]
C --> C1["Microsoft.Windows.Adapter/Registry"]
C --> C2["dsc server (formerly dsc mcp)"]
D --> D1["format() Stable"]
D --> D2["stateChanged() & restartRequired()"]
E --> E1["Service / SSHD --what-if"]
E --> E2["FirewallRuleList unspecifiedRules"]
F --> F1[--required-version]
F --> F2["OSInfo Version Comparison"]
新的内置 Windows 资源
在 DSC v3.3.0 中,Microsoft.Windows 命名空间中新增了三个资源。这些资源全部内置提供。
Microsoft.Windows/RegistryList
将过去每个键或值需要一个实例的注册表设置,在单个资源实例内作为数组进行管理。
作为基础的
registry.exe中--list已添加开关,版本已更新至 1.1。
Microsoft.Windows/WindowsFeatureList
- 用于以列表形式管理 Windows 功能的资源。
Microsoft.Windows/Personalization
- 管理强调色、亮色/暗色模式、透明度等 Windows 个性化设置。
这些可以通过 DSC CLI 进行发现和架构确认。
新适配器与 DSC 服务器(原 MCP)的更改
注册表后端适配器
Microsoft.Windows.Adapter/Registry 已引入。其中包含用于 JSON 属性值与注册表表示形式之间转换的辅助工具,资源通过常规 JSON 属性来表达期望状态,而适配器则负责处理注册表的读写操作。
dsc server 更名为
此前被称为dsc mcp 的命令已更名为dsc server,以更好地体现其便利性。为了保持与现有客户端配置的兼容性,mcp 这个名称将作为向后兼容的别名保留。对于连接客户端,可以使用以下三个工具。
show_dsc_schema()invoke_dsc_function()invoke_dsc_expression()
表达式函数的更新与稳定化
用于评估配置文档中资源状态的表达式函数已得到更新。
format()的稳定化: 已结束预览阶段,现在可在生产配置中使用。stateChanged(): 资源实例处于当前的set返回操作过程中是否更改了状态。restartRequired():返回系统、服务或进程是否需要重启(例如:restartRequired('system')、restartRequired('service', '<serviceName>'))。
扩大了对预览和扩展功能(–what-if、防火墙、合成导出)
--what-if 的支持
无需修改系统,set即可预览操作将要更改的内容 --what-if,现已在以下领域得到支持。
Microsoft.Windows/ServiceMicrosoft.Windows/FirewallRuleListSSHD 配置资源
Microsoft.Windows/FirewallRuleList 的未指定规则处理
unspecifiedRules 属性,使您能够精细控制配置中未列出的防火墙规则的处理方式(action、direction、profiles)。
合成导出过滤(实验性)
作为一项实验性功能引入,当导出操作未直接实现实例过滤时,由 DSC 引擎代为执行过滤。
CLI 和 OSInfo 规范更改
--required-version的替换:dsc resource *命令中,现已使用--version代替传统的--required-version(旧标志保留作为向后兼容的别名)。可以指定类 Rust 的语义版本要求(如^1.1、~1.2.3、>=1等)。Microsoft/OSInfo的版本比较:对于操作系统版本,现在不仅可以进行严格匹配,还可以使用比较运算符(=、<、<=、>、>=)来指定约束。
总结
基于官方信息,我们整理了 Microsoft Desired State Configuration v3.3.0 的新功能与变更点。执行前需要确认的要点和限制如下。
【在实机确认前】由于本文是在实机确认前编写,因此不保证实际环境中的命令执行结果或操作。
请注意命令行选项的变更(例如迁移至
--required-version)以及实验性功能规范变更的可能性。有关详细的安装步骤和最新的发布说明,请参考官方仓库及文档。
参考信息
本文更新历史
本文通过利用生成式 AI 的自动审查与更新流程进行了内容复查,并反映了必要的修正。
2026年9月26日
- 变更修正了总结部分开头处仅有句号的缺失表达。

