We just released the DSC Resource Kit!
Since our last release on November 2, we have added 1 new module, AuditPolicyDsc, which allows you to edit your audit policy subcategories and options. Thank you to Adam Haynes for this great new module!
Outside of the DSC Resource Kit, we also recently published an update to GPRegistryPolicy in the PowerShell Gallery. The latest version now includes a DSC resource to help you locally manage policy registry keys.
We have also added two new maintainers to the DSC Resource Kit:
- Johan Ljunggren (xSqlServer)
- Daniel Scott-Raynsford (xAdcsDeployment, xCertificate, xNetworking, xStorage)
These guys have shown outstanding dedication to their modules and continue to be invaluable contributors to the DSC Resource Kit. Congrats!
This release includes updates to 15 DSC resource modules, including 5 new DSC resources. In these past 6 weeks, 101 pull requests have been merged and 43 issues have been closed, all thanks to our amazing community!
We are holding the release of xPSDesiredStateConfiguration and PSDscResources until Friday (12/16) so that we can finish updating some of the in-box resources. We will update this blog post when those modules are released on Friday.
The modules updated in this release are:
- SharePointDsc
- xActiveDirectory
- xAdcsDeployment
- xCertificate
- xComputerManagement
- xDatabase
- xDscDiagnostics
- xExchange
- xFailOverCluster
- xHyper-V
- xNetworking
- xSCSMA
- xSQLServer
- xStorage
- xWebAdministration
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 December 7. A recording of our updates as well as summarizing notes are available. Join us next time to ask questions and give feedback about your experience with the DSC Resource Kit. Keep an eye on the community agenda for the next call date.
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)!
As with past Resource Kits, 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 on GitHub.
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 |
AuditPolicyDsc |
1.0.0.0 |
- Initial release with the following resources:
- AuditPolicySubcategory
- AuditPolicyOption
|
SharePointDsc |
1.5.0.0 |
- Fixed issue with SPManagedMetaDataServiceApp if ContentTypeHubUrl parameter is null
- Added minimum PowerShell version to module manifest
- Added testing for valid markdown syntax to unit tests
- Added support for MinRole enhancements added in SP2016 Feature Pack 1
- Fixed bug with search topology that caused issues with names of servers needing to all be the same case
- Fixed bug in SPInstallLanguagePack where language packs could not be installed on SharePoint 2016
- Added new resource SPSearchFileType
- Updated SPDatabaseAAG to allow database name patterns
- Fixed a bug were PerformancePoint and Excel Services Service Application proxies would not be added to the default proxy group when they are provisioned
- Added an error catch to provide more detail about running SPAppCatalog with accounts other than the farm account
|
xActiveDirectory |
2.15.0.0 |
- xAdDomainController: Fixes SiteName being required field.
|
xAdcsDeployment |
1.1.0.0 |
- Converted AppVeyor.yml to pull Pester from PSGallery instead of Chocolatey.
- Changed AppVeyor.yml to use default image.
- xAdcsCertificateAuthority:
- Change property format in Readme.md to be standard layout.
- Converted style to meet HQRM guidelines.
- Added verbose logging support.
- Added string localization.
- Fixed Get-TargetResource by removing IsCA and changing Ensure to return whether or not CA is installed.
- Added unit tests.
- Updated parameter format to meet HQRM guidelines.
- xAdcsOnlineResponder:
- Change property format in Readme.md to be standard layout.
- Added unit test header to be latest version.
- Added function help.
- Updated parameter format to meet HQRM guidelines.
- Updated resource to meet HQRM guidelines.
- xAdcsWebEnrollment:
- Change property format in Readme.md to be standard layout.
- Added unit test header to be latest version.
- Added function help.
- Updated parameter format to meet HQRM guidelines.
- Updated resource to meet HQRM guidelines.
- Added CommonResourceHelper.psm1 (copied from xPSDesiredStateConfiguration).
- Removed Technet Documentation HTML file from root folder.
- Removed redundant code from AppVeyor.yml.
- Fix markdown violations in Readme.md.
- Updated readme.md to match DSCResource.Template\Readme.md.
|
xCertificate |
2.3.0.0 |
- xCertReq:
- Added additional parameters KeyLength, Exportable, ProviderName, OID, KeyUsage, CertificateTemplate, SubjectAltName
- Fixed most markdown errors in Readme.md.
- Corrected Parameter decoration format to be consistent with guidelines.
|
xComputerManagement |
1.9.0.0 |
|
xDatabase |
1.5.0.0 |
- Converted appveyor.yml to install Pester from PSGallery instead of from Chocolatey.
- Added logging for when dac deploy fails
|
xDscDiagnostics |
2.6.0.0 |
- Added JobId parameter set to Get-xDscConfiguration
- Added IIS binding collection
|
xExchange |
1.12.0.0 |
- xExchangeCommon : In StartScheduledTask corrected throw error check to throw last error when errorRegister has more than 0 errors instead of throwing error if errorRegister was not null, which would otherwise always be true.
- Fix PSAvoidUsingWMICmdlet issues from PSScriptAnalyzer
- Fix PSUseSingularNouns issues from PSScriptAnalyzer
- Fix PSAvoidUsingCmdletAliases issues from PSScriptAnalyzer
- Fix PSUseApprovedVerbs issues from PSScriptAnalyzer
- Fix PSAvoidUsingEmptyCatchBlock issues from PSScriptAnalyzer
- Fix PSUsePSCredentialType issues from PSScriptAnalyzer
- Fix erroneous PSDSCDscTestsPresent issues from PSScriptAnalyzer for modules that do actually have tests in the root Tests folder
- Fix array comparison issues by removing check for if array is null
- Suppress PSDSCDscExamplesPresent PSScriptAnalyzer issues for resources that do have examples
- Fix PSUseDeclaredVarsMoreThanAssignments issues from PSScriptAnalyzer
- Remove requirements for second DAG member, or second Witness server, from MSFT_xExchDatabaseAvailabilityGroup.Integration.Tests
|
xFailOverCluster |
1.6.0.0 |
- xCluster: Fixed bug in which failure to create a new cluster would hang
|
xHyper-V |
3.6.0.0 |
- xVHD: Updated incorrect property name MaximumSize in error message
|
xNetworking |
3.1.0.0 |
- Changed parameter format in Readme.md to improve information coverage and consistency.
- Changed all MOF files to be consistent and meet HQRM guidelines.
- Removed most markdown errors (MD*) in Readme.md.
- Added xNetAdapterRDMA resource
- Fixes to support changes to DSCResource.Tests.
|
xSCSMA |
1.5.0.0 |
- Added $IdentifyingNumber for TP5/RTM and small WMI improvements
|
xSQLServer |
4.0.0.0 |
- Fixes in xSQLServerConfiguration
- Added support for clustered SQL instances
- BREAKING CHANGE: Updated parameters to align with other resources (SQLServer / SQLInstanceName)
- Updated code to utilize CIM rather than WMI
- Added tests for resources
- xSQLServerConfiguration
- xSQLServerSetup
- xSQLServerDatabaseRole
- xSQLAOGroupJoin
- xSQLServerHelper and moved the existing tests for Restart-SqlService to it.
- xSQLServerAlwaysOnService
- Fixes in xSQLAOGroupJoin
- Availability Group name now appears in the error message for a failed Availability Group join attempt.
- Get-TargetResource now works with Get-DscConfiguration
- Fixes in xSQLServerRole
- Updated Ensure parameter to “Present” default value
- *-SqlServerRole to *-SqlServerRoleMember
- Changes to xSQLAlias
- Add UseDynamicTcpPort parameter for option “Dynamically determine port”
- Change Get-WmiObject to Get-CimInstance in Resource and associated pester file
- Added CHANGELOG.md file
- Added issue template file (ISSUE_TEMPLATE.md) for “New Issue” and pull request template file (PULL_REQUEST_TEMPLATE.md) for “New Pull Request”
- Add Contributing.md file
- Changes to xSQLServerSetup
- Now
Features parameter is case-insensitive.
- BREAKING CHANGE: Removed xSQLServerPowerPlan from this module. The resource has been moved to xComputerManagement and is now called xPowerPlan.
- Changes and enhancements in xSQLServerDatabaseRole
- BREAKING CHANGE: Fixed so the same user can now be added to a role in one or more databases, and/or one or more instances. Now the parameters
SQLServer and SQLInstanceName are mandatory.
- Enhanced so the same user can now be added to more than one role
- BREAKING CHANGE: Renamed xSQLAlias to xSQLServerAlias to align with naming convention.
- Changes to xSQLServerAlwaysOnService
- Added RestartTimeout parameter
- Fixed bug where the SQL Agent service did not get restarted after the IsHadrEnabled property was set.
- BREAKING CHANGE: The mandatory parameters now include Ensure, SQLServer, and SQLInstanceName. SQLServer and SQLInstanceName are keys which will be used to uniquely identify the resource which allows AlwaysOn to be enabled on multiple instances on the same machine.
- Moved Restart-SqlService from MSFT_xSQLServerConfiguration.psm1 to xSQLServerHelper.psm1.
|
xStorage |
2.9.0.0 |
- Updated readme.md to remove markdown best practice rule violations.
- Updated readme.md to match DSCResources/DscResource.Template/README.md.
- xDiskAccessPath:
- Fix bug when re-attaching disk after mount point removed or detatched.
- Additional log entries added for improved diagnostics.
- Additional integration tests added.
- Improve timeout loop.
- Converted integration tests to use
$TestDrive as working folder or temp folder when persistence across tests is required.
- Suppress
PSUseShouldProcessForStateChangingFunctions rule violations in resources.
- Rename
Test-AccessPath function to Assert-AccessPathValid .
- Rename
Test-DriveLetter function to Assert-DriveLetterValid .
- Added
CommonResourceHelper.psm1 module (based on PSDscResources).
- Added
CommonTestsHelper.psm1 module (based on PSDscResources).
- Converted all modules to load localization data using
Get-LocalizedData from CommonResourceHelper.
- Converted all exception calls and tests to use functions in
CommonResourceHelper.psm1 and CommonTestsHelper.psm1 respectively.
- Fixed examples:
- Sample_InitializeDataDisk.ps1
- Sample_InitializeDataDiskWithAccessPath.ps1
- Sample_xMountImage_DismountISO.ps1
- xDisk:
|
xWebAdministration |
1.16.0.0 |
- Log directory configuration on xWebsite used the logPath attribute instead of the directory attribute. Bugfix for
|
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 in WMF 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
Find-DscResource
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 xCertificate module, go to:
https://github.com/PowerShell/xCertificate.
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:
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.
Katie Keim
Software Engineer
PowerShell Team
@katiedsc (Twitter)
@kwirkykat (GitHub)