The format is based on and uses the types of changes according to Keep a Changelog, and this project adheres to Semantic Versioning.
- OfficeOnlineServerSetup:
- BREAKING: Renamed parameter
WindowsFeatureSourcePathtoSourcePathand made it mandatory. - Replaced
xWindowsFeatureSetcomposite resource with individualWindowsFeatureresources, each specifying theSourcepath for SxS feature installation and an explicitDependsOnonNetFx35.
- BREAKING: Renamed parameter
- DfsNamespaces:
- Added a
Serviceresource to ensure theDfsservice is running before configuring DFS namespace settings.DFSNamespaceServerConfigurationnow depends on the service resource to prevent configuration failures when the DFS service has not started yet.
- Added a
- Documentation:
- Added meaningful abstracts and "When to use" guidance sections to all 157
composite resource documentation files, replacing placeholder (
###TBD###) and incorrect descriptions. - Audited all parameter tables against the actual
.schema.psm1files and fixed ~103 issues across ~73 resources: wrong Mandatory/Key attributes, wrong DataTypes, missing parameters, empty parameter tables, copy-paste description errors, typos (Enure,Booelan,Stringp[]), and obsolete parameters (e.g.DnsServerSettings— 39 added, 19 removed). - Added "See also" cross-reference sections to 132 documentation files, linking related resources within the same family (AD, DNS, SQL, Exchange, SharePoint, DHCP, RemoteDesktop, etc.).
- Populated missing sub-parameter detail tables for
Hashtable[]parameters inRemoteDesktopDeployment,RemoteDesktopCollections,SharePointSetup, andOfficeOnlineServerSetup. - Added documentation links to
ExchangeProvisioning,ExchangeConfiguration, andExchangeDagProvisioning. - Expanded the YAML example in
OfficeOnlineServerFarmConfigfrom 2 to 12 properties. - Removed leftover developer note from
AddsDomainController(InstallationMediaPath). - Added YAML references and examples for
DfsReplicationGroupConnections,DfsReplicationGroupMembers,DfsReplicationGroupMemberships,DnsSuffixes,RemoteDesktopServers, andRenameNetworkAdapters. - Updated test YAML assets for
DscDiagnosticandDscPullServer.
- Added meaningful abstracts and "When to use" guidance sections to all 157
composite resource documentation files, replacing placeholder (
- Updated
MmaDscfrom1.3.0to1.4.1.
- DSC compilation errors were silently swallowed. Get-DscResource simply excluded
broken resources without reporting why, so the Pester tests never ran for
them — the only symptom was an unhelpful "Expected 1, but got 2" count mismatch.
DscResources.Tests.ps1— Changed test case discovery to enumerate DSCResources folders instead of relying on Get-DscResource output. This ensures every resource gets a test case even if it fails to load, and the actual compilation step in PS 5.1 surfaces the real error.CompileDscConfiguration.ps1— Wrapped the Invoke-Expression (configuration definition)in its own try/catch and collected all errors from $Error in chronological order. If the configuration function isn't created, the full error chain is thrown — root cause first. This generically reports any error (invalid properties, missing modules, syntax errors, etc.) without needing error-type-specific detection.
- Performance improvement
- The speedup comes from compiling all DSC resources in a single powershell.exe process - instead of spawning a separate process per resource. The expensive one-time initialization (module imports, New-DatumStructure, Initialize-DscResourceMetaInfo) now runs only once. With more resources, the savings scale linearly — each additional resource adds only its compilation time rather than ~45s of setup overhead.
- PowerShellGet 2.2.5 exists in both RequiredModules and
C:\Program Files\WindowsPowerShell\Modules. When DSC scans all paths on PSModulePath,
it finds duplicate MOF schema definitions (MSFT_PSModule, MSFT_PSRepository) and emits
Write-Error for each — ugly but non-fatal.
- Wrapped Get-DscResource and Initialize-DscResourceMetaInfo calls in try/catch with -ErrorAction SilentlyContinue 2>$null to suppress both terminating exceptions (e.g. empty PSModulePath entries) and non-terminating Write-Error output from the duplicate CIM class detections. This was done in both DscResources.Tests.ps1 and CompileDscConfigurations.ps1.
AddsDomain:- Added
Enable32KDatabasePagesparameter.
- Added
- DscPullServer:
- Added
AcceptSelfSignedCertificatesparameter support - Added required Windows Features (DSC-Service and Web-Mgmt-Console)
- Added
- DscPullServerSql:
- Added
AcceptSelfSignedCertificatesparameter support
- Added
- Migrated from legacy DSC modules to community-supported modules:
xDhcpServertoDhcpServerDsc(v4.0.0)xExchangetoExchangeDsc(v2.0.0)
- Updated dependency versions:
xPSDesiredStateConfigurationto9.2.1.ComputerManagementDscto10.0.0.NetworkingDscto9.1.0.StorageDscto6.0.1.ActiveDirectoryDscto6.7.0.DFSDscto5.1.1.FailoverClusterDscto2.2.0.GPRegistryPolicyDscto1.3.1.SharePointDSCto5.6.1.ConfigMgrCBDscto4.0.0.
- build.yml
- Moved documentation tasks to separate step to speed up local builds.
- Added
WindowsFeatureSourcePathparameter toOfficeOnlineServerSetupfor installing removed feature .net Framework 3.5.
- Formatting.
- DiskAccessPaths:
- Replace illegal characters in executionName with underscore
- AddsDomainController:
- Add UnprotectFromAccidentalDeletion to allow dc promote if an existing AD computer account is protected
- AllowPasswordReplication and DenyPasswordReplication Variables for RODCs
- AzureConnectedMachine:
- Composite to install and configure the Azure Connected Machine Agent
- DhcpServerAuthorization:
- new resource to authorize DHCP server in AD
- FailoverCluster:
- add Networks support
- add installation of required Windows Features
- update documentation
- HyperVReplica
- new resource to configure replication of Hyper-V virtual machines
- HyperVState
- new resource to control state parameters of Hyper-V virtual machines
- RenameNetworkAdapters
- Add composite to rename network adapters
- Add documentation
- RemoteDesktopServers
- new composite to add a number of servers to a RDS deployment
- DnsSuffixes
- new resource to configure connection-specific DNS suffixes
- DfsReplicationGroupMembers
- new resource to configure DFSR group members
- DfsReplicationGroupMemberships
- new resource to configure DFSR group memberships
- DfsReplicationGroupConnections
- new resource to configure DFSR replication connections
- Fixed Typo in AddsDomainController documentation
- DHCPServer:
- fix EnableSecurityGroups if resource is not running on a domain controller
- HyperV:
- remove unused code after migration to HyperVDsc
- Pipeline
- Updated to latest Sampler files and update an vmImage reference to
ubuntu-latest
- Updated to latest Sampler files and update an vmImage reference to
WindowsOptionalFeaturesandWindowsFeaturesare using the DSC resource inxPSDesiredStateConfigurationnow.CertificateRequestssupports multiple certificates with the same issuer and subject by making friendlyName a mandatory (key) parameter.- Updated versions of
SqlServerDscandxRemoteDesktopSessionHost. - Updated build scripts to the latest version of Sampler.
- Updated dependency versions:
JeaDscto4.0.0-preview0005.SqlServerDscto17.1.0.DscBuildHelpersto0.3.0-preview0003.
- Updated test data for
SqlScriptQueriesaccording to new requirements. - Updated the following resources according to new
DscBuildHelpersversion.WebApplicationWebsitesHyperVConfigurationManagerConfiguration
- Fixed bugs in 'DscTagging' and added parameter 'BuildNumber'.
- Fixed gitversion task in the pipeline.
- AzureConnectedMachine:
- Module has been removed from PSGallery
PowershellExecutionPoliciesComposite for managing Powershell execution policies.VSTSAgentsComposite for installing the Azure DevOps agents.RobocopiesComposite for leveraging the Robocopy command.VirtualMemoryFilesComposite for adjusting the system page file via the resourceVirtualMemoryfrom theComputerManagementDscModule.SharePointSetupComposite for installing the SharePoint Prerequisits, Setup and optionally Language Packs.AddsWaitForDomainsComposite for making sure a domain is reachable before going further.CertificateExportsis used to export a certificate from the Windows certificate store.AddsTrustsComposite for establishing Forest trusts with more configuration options than using AddsDomain-property DomainTrusts.FilesAndFolderAdd property to embed binary files into MOF.SmbSharesAdd check and remove of duplicates from access properties in MOF.- Complete YAML documentation
FileContentsComposite for managing file content.RemoteDesktopDeploymentComposite to configure a remote desktop deploymentRemoteDesktopCollectionsComposite to configure RD session collections, including their settingsRemoteDesktopLicensingComposite to configure RD License server and license modeScomComponentsComposite to install SCOM componentsScomManagementPacksComposite to import SCOM management packs from file or via inline XMLScomSettingsComposite to set all available SCOM settingsCertificateRequestComposite to request certificates from a certificate authority, includes automatic wait for ADCS to become availableConfigurationManagerDistributionGroupComposite to configure one or more distribution point groupsSQLAgentAlertsComposite to configure one or more SQL Server Agent Alert on a SQL Server/InstanceSQLAgentOperatorsComposite to configure one or more SQL Server Agent Operator on a SQL Server/InstanceSQLDatabaseMailSetupsComposite to configure one or more Database Mail Accounts/Profiles on a SQL Server/InstanceSQLScriptQueriesComposite to run one or more SQL Scripts against a SQL Server/InstanceRemoteDesktopCertificatesComposite to import Remote Desktop Certificates. Ideally combined with CertificateRequests and CertificateExports composites.RemoteDesktopHAModeComposite to configure High Availability mode on a RDS connection broker.
- Changed the build pipeline to Sampler.
- Debugging Sampler migration:
- Added 'Sampler.GitHubTasks'.
- Moved DSCResources for faster build.
- Removed dependencies for faster build.
- Debugging Sampler migration:
- Fixed badges.
- Added back configurations and dependencies.
- Fixing issue with Cluster when only NodeMajority is used.
- Fixed the fix: Quorum is not required in some SQL Always-On scenarios which did not work after the fix.
- Add new resource LocalUsers.
- Make DscLcmController independent from the DscDiagnostics resource.
- Add optional attributes to DscTagging resource.
- Update documentation.
- Applied HQRM standards.
- Fixing issue with AddsOrgUnitsAndGroups when OUs contain other non-word characters.
- Added MmaAgent to configure Microsoft Monitoring Agent.
- Added AddsServicePrincipalNames to configure SPNs.
- Disabling RebootNodeIfNeeded when LCM is on Monitor mode.
- Made 'WaitForClusterRetryIntervalSec' and 'WaitForClusterRetryCount' configurable in Cluster config.
- Added new configuration 'WebConfigPropertyCollections'.
- Fixed an issue with duplicate resource identifiers in 'WebConfigProperties'.
- Changed parameter 'Name' to 'Names' in 'WindowsFeatures' and 'WindowsOptionalFeatures' resources according to coding convention.
- Made the Office Online Server resources actually work and redesigned them.
- Added 'OfficeOnlineServerMachineConfig' configuration.
- WindowsFeatures configuration does not longer install all sub features. If needed, use prefix '*'.
- Changed dependencies in 'OfficeOnlineServerSetup'.
- Added CertificateImports to import certificates.
- Added parameter 'CheckPrerequisites' to 'WindowsEventForwarding' resource.
- Fixed issue with names containing special characters in 'LocalUsers' and 'LocalGroups' resources.
- Fixed issue with quotation marks in 'SqlServer' resource.
- Fixed issue with inter-configuration DependsOn by removing DependsOn inside configurations
- Added remote desktop control to 'ComputerSettings'.
- Fixed an issue with DscLcmController, the RebootNodeIfNeeded property is not. set to false before the first execution of maintenance window.
- Fixed issue with DscLcmController, The RebootNodeIfNeeded property is not set to true when the LCM is already in ApplyAndAutoCorrect mode.
- Fixed GitVersion depreciated version in azurepipeline.
- Fixed issue #156, switch plublish task to 'unbuntu-latest' vmimage.
- WindowsEventForwarding - replace localized system user names by SID to avoid problems on none english Windows systems.
- Documentation update.
- Removed DependsOn in ComputerSettings to ensure cross-configuration dependencies.
- Migration of tests to Pester 5.
- Added support for CimInstance parameters.
- Fixed issue with Cluster composite ignoring the IgnoreNetwork parameter.
- Fix #172 - RegistryPolicies: Error when Key or ValueName parameters contain bracket "()".
- ConfigurationManagerDeployment updated to allow Windows feature installation.
- InstallWindowsFeatures could create duplicate resource issues if WindowsFeatures composite is used as well.
- ConfigurationManagerDeployment now has configurable Product Key.
- Made reading binary files in FilesAndFolders and CertificateImports more robust.
- Updated to latest version of 'PackageManagement' to fix module discovery error.
- WindowsServices: fix support of absent services (Ensure: Absent)
- HyperV: fix support of absent switches and VMs (Ensure: Absent)
- Changing to
windows-latestfor all pipeline jobs. - Upgrade the following DSC resources to latest stable version:
- NetworkingDsc
- xWebAdministration ==> WebAdministrationDsc
- ActiveDirectoryDsc
- xDhcpServer
- xFailoverCluster
- SqlServerDsc
- xHyper-V
- VSTSAgent
- xHyper-V ==> HyperVDsc
- Refactoring of SqlPermissions after upgrade of SqlServerDsc to 16.0.0
- WindowsFeatures: Include support for more elaborate lists of features, giving more control.
- Added task
FixEncodingfor being able to run the build on Windows PowerShell due to an encoding issue with the psd1 file - Add missing documentation
- Added Read-Only Domaincontroller Variable to AddsDomainController
- WindowsFeatures: Include support for more elaborate lists of features, giving more control
- Breaking Change: Cluster renamed to FailoverCluster, since FailoverClusterDsc provides Cluster resource which is in conflict with the Cluster composite