We just released the DSC Resource Kit!
This release includes updates to 15 DSC resource modules. In the past 6 weeks, 160 pull requests have been merged and 68 issues have been closed, all thanks to our amazing community!
The modules updated in this release are:
- ActiveDirectoryCSDsc 4.1.0.0
- ActiveDirectoryDsc 4.1.0.0
- ComputerManagementDsc 7.0.0.0
- DFSDsc 4.4.0.0
- NetworkingDsc 7.4.0.0
- SecurityPolicyDsc 2.10.0.0
- SqlServerDsc 13.2.0.0
- xDnsServer 1.15.0.0
- xExchange 1.29.0.0
- xFailOverCluster 1.13.0.0
- xPSDesiredStateConfiguration 8.10.0.0
- xRemoteDesktopSessionHost 1.9.0.0
- xSCSMA 2.1.0.0
- xWebAdministration 2.8.0.0
For a detailed list of the resource modules and fixes in this release, see the Included in this Release section below.
Our latest community call for the DSC Resource Kit was last Wednesday, September 11. A recording of the call is posted on the PowerShell YouTube channel. You can join us for the next call at 12PM (Pacific time) on August 28th to ask questions and give feedback about your experience with the DSC Resource Kit.
The next DSC Resource Kit release will be on Wednesday, October 9.
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)!
Please see our documentation here for information on the support of these resource modules.
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 |
ActiveDirectoryCSDsc |
4.1.0.0 |
- AdcsCertificationAuthoritySettings:
- Fix grammar in the resource README.md.
- Fix minor style issues in statement case.
|
ActiveDirectoryDsc |
4.1.0.0 |
-
We could not add the change log to the release notes due to the length of the change log. What have change in this release can be found here
https://github.com/PowerShell/ActiveDirectoryDsc/blob/dev/CHANGELOG.md#4100
|
ComputerManagementDsc |
7.0.0.0 |
- ScheduledTask:
- Better compatibility with Group LogonType when passing BuiltIn groups through ExecuteAsCredential
- Primary use case is “BUILTIN\Users”
- Use the ExecuteAsCredential property to pass the username The PSCredential needs a non-null that is ignored
- Delay property not handled properly on AtLogon and AtStartup trigger – Fixes Issue 230
- Changed
Get-ScheduledTask calls to ScheduledTasks\Get-ScheduledTask to avoid name clash with Carbon module. Fixes Issue 248
- Cast
MultipleInstances value returned by Get-TargetResource to string – fixes Issue 255
- PendingReboot:
- Migrated xPendingReboot from xPendingReboot and renamed to PendingReboot.
- Converted to meet HQRM guidelines – Fixes Issue 12.
- Changed
SkipCcmClientSDK parameter to default to $true – Fixes Issue 13.
- Fixed
Test-TargetResource so that if ConfigMgr requires a reboot then the pending reboot will be set – Fixes Issue 26.
- Refactored
Test-TargetResource to reduce code duplication and move to a data driven design.
- Refactored
Get-TargetResource by adding a new function Get-PendingRebootState so that Test-TargetResource no longer needed to use Get-TargetResource . This eliminated the need to include write parameters in Get-TargetResource .
- Converted the call to
Invoke-WmiMethod to Invoke-CimMethod .
- Deleted the code that removes the
regRebootLocations variable at the end of the resource as it appears to serve no purpose.
- Correct all tests to meet Pester 4.0 standards.
- RemoteDesktopAdmin:
- New resource for configuring Remote Desktop for Administration – fixes Issue 224.
- Updated common function
Test-DscParameterState to support ordered comparison of arrays by copying function and tests from NetworkingDsc – fixes Issue 250.
- BREAKING CHANGE: ScheduledTask:
- Correct output type of
DaysInterval ,StartTime ,WeeksDaysOfWeek , and WeeksInterval parameters from Get-TargetResource to match MOF.
- Refactored
Get-TargetResource to remove parameters that are not key or required – fixes Issue 249.
- Added function
Test-DateStringContainsTimeZone to determine if a string containing a date time includes a time zone.
- Enable verbose preference to be passed through to
Test-DscParameterState .
- Changed
Test-TargetResource so that StartTime is only compared for trigger types Daily ,Weekly or Once .
- Fix minor style issues in statement case.
|
DFSDsc |
4.4.0.0 |
- Fix example publish to PowerShell Gallery by adding
gallery_api environment variable to AppVeyor.yml – fixes Issue 91.
- Fix minor style issues in statement case.
|
NetworkingDsc |
7.4.0.0 |
- Added Comment Based Help for
New-NotImplementedException common function – fixes Issue 411.
- Added common function “Format-Win32NetworkADapterFilterByNetConnectionID” to properly accept wild cards for Win32_NetworkAdapter filters.
- Updated MSFT_Netbios to use “Format-Win32NetworkADapterFilterByNetConnectionID”
- Corrected minor style and consistency issues in
NetworkingDsc.Common.tests.ps1 and NetworkingDsc.Common.ps1 .
- Changed verbose messages in
Test-DscParameterState to include full type name.
- Fixed bug in
Test-DscParameterState that causes it to return true when both the current array and desired array is empty.
- Fix minor style issues in statement case.
|
SecurityPolicyDsc |
2.10.0.0 |
- Changes to SecurityPolicyDsc
- Opt-in to the following DSC Resource Common Meta Tests:
- Common Tests – Validate Module Files
- Common Tests – Validate Script Files
- Common Tests – Validate Markdown Files
- Common Tests – Required Script Analyzer Rules
- Common Tests – Flagged Script Analyzer Rules
- Common Tests – New Error-Level Script Analyzer Rules
- Common Tests – Custom Script Analyzer Rules
- Common Tests – Validate Markdown Links
- Common Tests – Relative Path Length
- Common Tests – Validate Example Files
- Common Tests – Validate Example Files To Be Published
- Fix keywords to lower-case to align with guideline.
|
SqlServerDsc |
13.2.0.0 |
- Changes to SqlServerDsc
- Fix keywords to lower-case to align with guideline.
- Fix keywords to have space before a parenthesis to align with guideline.
|
xDnsServer |
1.15.0.0 |
|
xExchange |
1.29.0.0 |
- Enable Script Analyzer default rules
- Fixed keywords in upper case
|
xFailOverCluster |
1.13.0.0 |
- Updated the xCluster test method to return true if a node is joined to the cluster but is in a Paused state.
|
xPSDesiredStateConfiguration |
8.10.0.0 |
- Changes to xPSDesiredStateConfiguration
- Fix keywords to lower-case to align with guideline.
- Added SMB PullServer support for publishing.
|
xRemoteDesktopSessionHost |
1.9.0.0 |
- Changes to xRDRemoteApp
- Fixing typo in parameter name when calling the function ValidateCustomModeParameters (issue 50).
- Changes to xRDSessionDeployment
- When RDMS service does not exist the Get-TargetResource will no longer throw an error (issue 47).
- Rename Tests/Unit folder to use upper case on first letter.
- Update appveyor.yml to use the default template.
- Added default template files .codecov.yml, .gitattributes, and .gitignore, and .vscode folder.
- xRDSessionCollectionConfiguration:
- Changed CollectionName variable validation max length to 256
- xRDSessionCollection
- Changed CollectionName variable validation max length to 256
- xRDRemoteApp
- Changed CollectionName variable validation max length to 256
|
xSCSMA |
2.1.0.0 |
- Update appveyor.yml to use the default template.
- Added default template files .codecov.yml, .gitattributes, and .gitignore, and .vscode folder.
- Closed issue 29 – Web bindings fail due to hardcoded WSE
- Switched from Get-WmiObject Win32_Product to Get-ItemProperty for identifer number
|
xWebAdministration |
2.8.0.0 |
- Fix multiple HTTPS bindings on one xWebsite receiving the first binding”s certificate 332
- Added unit regression test
- Changes to xWebsite
- Added ServerAutoStart (controls website autostart) and changed documentation for ServiceAutoStartEnabled (controls application auto-initialization). Fixes 325.
- Fix multiple HTTPS bindings on one xWebsite receiving the first binding”s certificate 332
- Added unit regression test
- Changes to xWebAppPool
- Fix false
Test-TargetResource failure for logEventOnRecycle if items in the Configuration property are specified in a different order than IIS natively stores them 434
- Changes to xIisModule
- Fixed the parameters specification for the internal Get-IISHandler and Remove-IISHandler function
|
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 starting in WMF 5.0) to find modules with DSC Resources:
# To list all modules that tagged as DSCResourceKit
Find-Module -Tag DSCResourceKit
# To list all DSC resources from all sources
Find-DscResource
Please note only those modules released by the PowerShell Team are currently considered part of the ‘DSC Resource Kit’ regardless of the presence of the ‘DSC Resource Kit’ tag in the PowerShell Gallery.
To find a specific module, go directly to its URL on the PowerShell Gallery:
http://www.powershellgallery.com/packages/< module name >
For example:
http://www.powershellgallery.com/packages/xWebAdministration
How to Install DSC Resource Modules From the PowerShell Gallery
We recommend that you use PowerShellGet to install DSC resource modules:
Install-Module -Name < module name >
For example:
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:
https://github.com/PowerShell/< module name >
For example, for the CertificateDsc module, go to:
https://github.com/PowerShell/CertificateDsc.
All DSC modules are also listed as submodules of the DscResources repository in the DscResources folder and 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:
https://github.com/PowerShell/< module name >/issues
For example:
https://github.com/PowerShell/xPSDesiredStateConfiguration/issues
Your help in developing the DSC Resource Kit is invaluable to us!
Questions, comments?
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.
Michael Greene
Principal Program Manager
PowerShell DSC Team
@migreene (Twitter)
@mgreenegit (GitHub)
formatting of all code blocks in the article is broken 🙁