We just released the DSC Resource Kit!
This release includes updates to 10 DSC resource modules
, including 19 new DSC resources
. In these past 6 weeks, 155 pull requests (the most ever!)
have been merged and 71 issues
have been closed, all thanks to our amazing community!
A few weeks ago we also released a new DSC resource module called SecurityPolicyDsc with resources to configure local security policies through secedit. Thank you to Jason Walker for this great new module!
The modules updated in this release are:
For a detailed list of the resource modules and fixes in this release, see the Included in this Release section below.
Our last community call
for the DSC Resource Kit was last week on March 1. A recording
of our updates as well as summarizing notes
are available. Join us next time at 9AM PST on April 12 to ask questions and give feedback about your experience with the DSC Resource Kit. Keep an eye on the community agenda
for the link to the call.
We strongly encourage you to update to the newest version of all modules using the PowerShell Gallery, and don’t forget to give us your feedback in the comments below, on GitHub, or on Twitter ( @PowerShell_Team
All resources with the ‘x’ prefix in their names are still experimental – this means that those resources are provided AS IS and are not supported through any Microsoft support program or service. If you find a problem with a resource, please file an issue
Included in this Release
You can see a detailed summary of all changes included in this release in the table below. For past release notes, go to the README.md or Changelog.md file on the GitHub repository page for a specific module (see the How to Find DSC Resource Modules on GitHub section below for details on finding the GitHub page for a specific module).
|Module Name||Version||Release Notes|
- Added documentation to the module to finalise for release
- Renamed resources to shorten names before release
- “OfficeOnlineServerWebAppsFarm” becomes “OfficeOnlineServerFarm”
- “OfficeOnlineServerWebAppsMachine” becomes “OfficeOnlineServerMachine”
- Enable codecov.io code coverage reporting
- Added support for domain based group members on Nano server.
- Added the Archive resource
- Update Test-IsNanoServer cmdlet to properly test for a Nano server rather than the core version of PowerShell
- Fixed bug where an error was thrown when running Get-DscConfiguration if the registry already existed
- SecurityTemplate: Remove [ValidateNotNullOrEmpty()] attribute for IsSingleInstance parameter
- Fixed typos
- Updated SPWebApplication to allow Claims Authentication configuration
- Updated documentation in regards to guidance on installing binaries from
network locations instead of locally
- New resources: SPFarmPropertyBag
- Bugfix in SPSite, which wasnt returing the quota template name in a correct way
- Bugfix in SPAppManagementServiceApp which wasnt returning the correct database
- Bugfix in SPAccessServiceApp which did not return the database server
- Bugfix in SPDesignerSettings which filtered site collections with an incorrect
- Updated the parameters in SPFarmSolution to use the full namespace
- Bugfix in SPFarmsolution where it returned non declared parameters
- Corrected typo in parameter name in Get method of SPFeature
- Added check in SPHealAnalyzerRuleState for incorrect default rule schedule of
- Improved check for CloudSSA in SPSearchServiceApp
- Bugfix in SPSearchServiceApp in which the database and dbserver were not
- Improved runtime of SPSearchTopology by streamlining wait processes
- Fixed bug with SPSearchServiceApp that would throw an error about SDDL string
- Improved output of test results for AppVeyor and VS Code based test runs
- Fixed issue with SPWebAppPolicy if OS language is not En-Us
- Added SPFarm resource, set SPCreateFarm and SPJoinFarm as deprecated to be
removed in version 2.0
- Converted AppVeyor build process to use AppVeyor.psm1.
- Correct Param block to meet guidelines.
- Moved shared modules into modules folder.
- Cleanup xCertificate.psd1 to remove unneccessary properties.
- Converted AppVeyor.yml to use DSCResource.tests shared code.
- Opted-In to markdown rule validation.
- Examples modified to meet standards for auto documentation generation.
- xExchDatabaseAvailabilityGroup: Added parameter AutoDagAutoRedistributeEnabled,PreferenceMoveFrequency
- Moved DSC pull server setup tests to DSCPullServerSetup folder for new common tests
- Updated the resource to be a high quality resource
- Transferred the existing “unit” tests to integration tests
- Added unit and end-to-end tests
- Updated documentation and examples
- Fixed error handling in xUser
- Fixed bug where an error was thrown when running Get-DscConfiguration if the registry key already existed
- Updated Test-IsNanoServer cmdlet to properly test for a Nano server rather than the core version of PowerShell
- Updated CollectionName parameter to validate length between 1 and 15 characters, and added tests to verify.
- Changes to xSQLServerConfiguration
- BREAKING CHANGE: The parameter SQLInstanceName is now mandatory.
- Resource can now be used to define the configuration of two or more different DB instances on the same server.
- Changes to xSQLServerRole
- xSQLServerRole now correctly reports that the desired state is present when the login is already a member of the server roles.
- Added new resources
- Changes to xSQLServerSetup
- Properly checks for use of SQLSysAdminAccounts parameter in $PSBoundParameters. The test now also properly evaluates the setup argument for SQLSysAdminAccounts.
- xSQLServerSetup should now function correctly for the InstallFailoverCluster action, and also supports cluster shared volumes. Note that the AddNode action is not currently working.
- It now detects that feature Client Connectivity Tools (CONN) and Client Connectivity Backwards Compatibility Tools (BC) is installed.
- Now it can correctly determine the right cluster when only parameter InstallSQLDataDir is assigned a path (issue 401).
- Now the only mandatory path parameter is InstallSQLDataDir when installing Database Engine (issue 400).
- It now can handle mandatory parameters, and are not using wildcards to find the variables containing paths (issue 394).
- Changed so that instead of connection to localhost it is using $env:COMPUTERNAME as the host name to which it connects. And for cluster installation it uses the parameter FailoverClusterNetworkName as the host name to which it connects (issue 407).
- When called with Action = “PrepareFailoverCluster”, the SQLSysAdminAccounts and FailoverClusterGroup parameters are no longer passed to the setup process (issues 410 and 411).
- Solved the problem that InstanceDir and InstallSQLDataDir could not be set to just a qualifier, i.e “E:” (issue 418). All paths (except SourcePath) can now be set to just the qualifier.
- Enables CodeCov.io code coverage reporting.
- Added badge for CodeCov.io to README.md.
- Added tests for resources
- Changes to xSQLServerMemory
- BREAKING CHANGE: The mandatory parameter now include SQLInstanceName. The DynamicAlloc parameter is no longer mandatory
- Changes to xSQLServerDatabase
- When the system is not in desired state the Test-TargetResource will now output verbose messages saying so.
- Changes to xSQLServerDatabaseOwner
- Fixed code style, added updated parameter descriptions to schema.mof and README.md.
- Converted appveyor.yml to install Pester from PSGallery instead of from
- Fixed PSScriptAnalyzer issues.
- Fixed common test breaks (markdown style, and example style).
- Added CodeCov.io reporting
- Deprecated xMicrosoftUpdate as it”s functionality is replaced by xWindowsUpdateAgent
How to Find Released DSC Resource Modules
To see a list of all
released DSC Resource Kit modules, go to the PowerShell Gallery
and display all modules tagged as DSCResourceKit
. You can also enter a module’s name in the search box in the upper right corner of the PowerShell Gallery to find a specific module.
Of course, you can also always use PowerShellGet (available inWMF 5.0) to find modules with DSC Resources:
# To list all modules that are part of the DSC Resource Kit
Find-Module -Tag DSCResourceKit
# To list all DSC resources from all sources
To find a specific
module, go directly to its URL on the PowerShell Gallery:
How to Install DSC Resource Modules From the PowerShell Gallery
We recommend that you use PowerShellGet to install DSC resource modules:
Install-Module -Name xWebAdministration
To update all previously installed modules at once, open an elevated PowerShell prompt and use this command:
After installing modules, you can discover all DSC resources available to your local system with this command:
How to Find DSC Resource Modules on GitHub
All resource modules in the DSC Resource Kit are available open-source on GitHub.
You can see the most recent state of a resource module by visiting its GitHub page at:
For example, for the xCertificate module, go to:
All DSC modules are also listed as submodules of the DscResources repository
in the xDscResources folder
How to Contribute
You are more than welcome to contribute to the development of the DSC Resource Kit! There are several different ways you can help. You can create new DSC resources or modules, add test automation, improve documentation, fix existing issues, or open new ones.
See our contributing guide
for more info on how to become a DSC Resource Kit contributor.
If you would like to help, please take a look at the list of open issues
for the DscResources repository.
You can also check issues for specific resource modules by going to:
Your help in developing the DSC Resource Kit is invaluable to us!
If you’re looking into using PowerShell DSC, have questions or issues with a current resource, or would like a new resource, let us know in the comments below, on Twitter ( @PowerShell_Team
), or by creating an issue on GitHub