This article is a technical explanation and implementation example generated using AI. Although the included code and procedures are structured based on primary sources, the author has not verified their operation on actual hardware. Behavior may vary depending on the environment and version.
Based on the official announcement of Microsoft Desired State Configuration (DSC) v3.3.0, we organize the added new features, changes, and specifications of major commands. The purpose of this article is to safely grasp the overview of DSC v3.3.0 and understand the configuration definitions provided officially and the mechanics of the new adapters.
- Objectives, Prerequisites, and Cautions
- Major New Features and Components of DSC v3.3.0
- New Built-in Windows Resources
- New Adapters and DSC Server (formerly MCP) Changes
- Expression Function Updates and Stabilization
- Expanded support for preview and extension features (–what-if, firewall, synthetic export)
- CLI and OSInfo specification changes
- Summary
- Reference Information
- Revision History of This Article
Objectives, Prerequisites, and Cautions
Purpose of this article
Based on the official blog, we organize new features in DSC v3.3.0, expansions of Windows resources, CLI changes, and expression function updates to deepen knowledge for safe use in production environments.
Prerequisites and Cautions
The contents of this article are based on official announcements and are in an [unverified on actual hardware] state.
Specific execution results in Windows environments are not shown, remaining limited to specification explanations of official information.
Attention must be paid to command-line options changed from older versions (such as the migration from
--versionto--required-version).
Major New Features and Components of DSC v3.3.0
In DSC v3.3.0, many enhancements have been made reflecting production usage and community feedback. The main components are as follows.
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"]
New Built-in Windows Resources
In DSC v3.3.0, three new resources have been added to the Microsoft.Windows namespace. These are all provided in-box.
Microsoft.Windows/RegistryList
Registry settings that previously required a single instance per key or value are now managed as an array within a single resource instance.
The underlying
registry.exeto--listswitches have been added, and the version has been updated to 1.1.
Microsoft.Windows/WindowsFeatureList
- This is a resource for managing Windows features in a list format.
Microsoft.Windows/Personalization
- Manages Windows personalization settings such as accent color, light/dark mode, and transparency.
These can be discovered and their schemas verified using the DSC CLI.
New Adapters and DSC Server (formerly MCP) Changes
Registry Backend Adapter
Microsoft.Windows.Adapter/Registry has been introduced. It includes conversion helpers between JSON property values and registry representations, allowing resources to express desired states as standard JSON properties while the adapter handles registry reads and writes.
dsc server Renamed to
Previously, dsc mcp commands have been renamed to dsc server to better reflect their usability. To maintain compatibility with existing client configurations, the name mcp is retained as a backward-compatibility alias. The following three tools are available for connected clients:
show_dsc_schema()invoke_dsc_function()invoke_dsc_expression()
Expression Function Updates and Stabilization
Expression functions for evaluating resource states in configuration documents have been updated.
format()Stabilization of : Having exited the preview stage, it is now available for production configurations.stateChanged(): Resource instance is currentsetReturns whether the state was modified during the operation.restartRequired(): Returns whether the system, service, or process requires a restart (e.g.,restartRequired('system')、restartRequired('service', '<serviceName>'))。
Expanded support for preview and extension features (–what-if, firewall, synthetic export)
--what-if
without modifying the system, setpreviewing what will be changed by the operation --what-ifis now supported in the following areas.
Microsoft.Windows/ServiceMicrosoft.Windows/FirewallRuleListSSHD configuration resource
Microsoft.Windows/FirewallRuleList unspecified rule handling
unspecifiedRules property has been added, allowing granular control over how firewall rules not described in the configuration are handled (action、direction、profiles).
Synthetic export filtering (experimental)
Introduced as an experimental feature, the DSC engine now handles instance filtering on behalf of resources that do not directly implement it during export operations.
CLI and OSInfo specification changes
--required-versionreplacement with:dsc resource *command now uses--versioninstead of the traditional--required-version(the old flag is retained as a backward-compatible alias). You can specify Rust-style semantic version requirements (^1.1、~1.2.3、>=1, etc.).Microsoft/OSInfoversion comparison: For operating system versions, it is now possible to specify constraints using comparison operators (=、<、<=、>、>=) in addition to exact matches.
Summary
Based on official information, we have summarized the new features and changes in Microsoft Desired State Configuration v3.3.0. The items and constraints to verify before execution are as follows.
Since this is [prior to actual device verification], command execution results and behaviors in actual environments are not guaranteed in this article.
Please note potential changes to command-line options (such as migration to
--required-version) and specification changes for experimental features.For detailed installation instructions and the latest release notes, please refer to the official repository and documentation.
Reference Information
Revision History of This Article
The content of this article has been reviewed and necessary corrections have been reflected through an automated review and update workflow utilizing generative AI.
September 26, 2026
- ChangeFixed a missing comma/punctuation mark at the beginning of the summary section.

