解读 Microsoft Desired State Configuration v3.3.0 官方信息与新功能

PowerShellカテゴリを表すパンダのイラスト PowerShell

本文是使用人工智能生成的技术说明与实现示例。所发布的代码和步骤基于一手信息构建,但作者并未在实机上进行运行验证。根据环境和版本的不同,运行表现可能会有所差异。

根据 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 命名空间中新增了三个资源。这些资源全部内置提供。

  1. Microsoft.Windows/RegistryList

    • 将过去每个键或值需要一个实例的注册表设置,在单个资源实例内作为数组进行管理。

    • 作为基础的 registry.exe中--list 已添加开关,版本已更新至 1.1。

  2. Microsoft.Windows/WindowsFeatureList

    • 用于以列表形式管理 Windows 功能的资源。
  3. 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/Service

  • Microsoft.Windows/FirewallRuleList

  • SSHD 配置资源

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日

  • 变更修正了总结部分开头处仅有句号的缺失表达。

文档信息

文章??
解读 Microsoft Desired State Configuration v3.3.0 官方信息与新功能
?布日期
更新日期
来源
https://papanda925.com/?p=17628&lang=zh

?可: ?于本站?有相??利的正文及原??表,除非?有?明,可依据 CC BY 4.0 使用。本文可能包含使用生成式AI?建或??的内容。若代??有?可声明,或?接的GitHub???定了?可,?代?以??可?准。引用内容、第三方?料、?片及商?不在本?可范?内。 使用政策

标题和URL已复制