We just released the DSC Resource Kit!

This release includes updates to 9 DSC resource modules. In the past 6 weeks, 126 pull requests have been merged and 79 issues have been closed, all thanks to our amazing community!

The modules updated in this release are:

ComputerManagementDsc

SharePointDsc

StorageDsc

SqlServerDsc

xActiveDirectory

xExchange

xFailOverCluster

xHyper-V

xWebAdministration

For a detailed list of the resource modules and fixes in this release, see the Included in this Release section below.

xPSDesiredStateConfiguration is also in the pipeline for a release, but the xArchive resource is failing its tests, so that module is currently on hold and will be released when all the tests are passing once again.

Our latest community call for the DSC Resource Kit was on October 10. A recording will be available on YouTube soon. Join us for the next call at 12PM (Pacific time) on November 21 to ask questions and give feedback about your experience with the DSC Resource Kit.

The next DSC Resource Kit release will be on Wednesday, November 28.

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 ComputerManagementDsc 6.0.0.0 ScheduledTask: Added support for Group Managed Service Accounts, implemented using the ExecuteAsGMSA parameter. Fixes Issue 111 Added support to set the Synchronize Across Time Zone option. Fixes Issue 109

Added .VSCode settings for applying DSC PSSA rules – fixes Issue 189.

BREAKING CHANGE: PowerPlan: Added IsActive Read-Only Property – Fixes Issue 171. InActive power plans are no longer returned with their Name set to null. Now, the name is always returned and the Read-Only property of IsActive is set accordingly.

SharePointDsc 2.6.0.0 SPFarm Fixed issue where Central Admin service was not starting for non-english farms

SPManagedMetadataServiceApp Added additional content type settings (ContentTypePushdownEnabled & ContentTypeSyndicationEnabled). Fixed issue where Get method would throw an error when the proxy did not exist. Fixed an issue where the resource checks if the proxy exists and if not, it is created.

SPSearchContentSource Fixed issue with numerical Content Sources name Fixed issue where the code throws an error when the content source cannot be successfully created

SPSearchManagedProperty Added a new resource to support Search Managed Properties Fix for multiple aliases

SPSearchResultSource Added a new ScopeUrl parameter to allow for local source creation

SPSearchTopology Updated Readme.md to remove some incorrect information Fixed logic to handle the FirstPartitionDirectory in Get-TargetResource

SPSelfServiceSiteCreation New resource to manage self-service site creation

SPServiceAppSecurity Added local farm token. Fixed issues that prevented the resource to work as expected in many situations.

SPSite Added the possibility for creating the default site groups Added the possibility to set AdministrationSiteType Fixed test method that in some cases always would return false Fixed a typo in the values to check for AdministrationSiteType Fixed an access denied issue when creating default site groups when the run as account does not have proper permissions for the site

SPTrustedIdentityTokenIssuer Added parameter UseWReplyParameter

SPUserProfileServiceApp Fixed issue which was introduced in v2.5 where the service application proxy was not created. Updated resource to grant the InstallAccount permissions to a newly created service application to prevent issues in the Get method.

SPUserProfileSyncConnection Fixed issue where empty IncludedOUs and ExcludedOUs would throw an error

SPWebAppClientCallableSettings New resource to manage web application client callable settings including proxy libraries.

SPWebAppPropertyBag New resource to manage web application property bag

SPWebAppSuiteBar Fixed incorrect test method that resulted in this resource to never apply changes. Enable usage of SuiteBarBrandingElementHtml for SharePoint 2016 (only supported if using a SharePoint 2013 masterpage)

SqlServerDsc 12.1.0.0 Changes to SqlServerDsc Add support for validating the code with the DSC ResourceKit Script Analyzer rules, both in Visual Studio Code and directly using Invoke-ScriptAnalyzer . Opt-in for common test “Common Tests – Validate Markdown Links”. Updated broken links in \README.md and in \Examples\README.md Opt-in for common test “Common Tests – Relative Path Length”. Updated the Installation section in the README.md. Updated the Contributing section in the README.md after Style Guideline and Best Practices guidelines has merged into one document. To speed up testing in AppVeyor, unit tests are now run in two containers. Adding the PowerShell script Assert-TestEnvironment.ps1 which must be run prior to running any unit tests locally with Invoke-Pester . Read more in the specific contributing guidelines, under the section Unit Tests.

Changes to SqlServerDscHelper Fix style guideline lint errors. Changes to Connect-SQL Adding verbose message in Connect-SQL so it now shows the username that is connecting. Changes to Import-SQLPS Fixed so that when importing SQLPS it imports using the path (and not the .psd1 file). Fixed so that the verbose message correctly shows the name, version and path when importing the module SQLPS (it did show correctly for the SqlServer module).

Changes to SqlAg, SqlAGDatabase, and SqlAGReplica examples Included configuration for SqlAlwaysOnService to enable HADR on each node to avoid confusion (issue 1182).

Changes to SqlServerDatabaseMail Minor update to Ensure parameter description in the README.md.

Changes to Write-ModuleStubFile.ps1 Create aliases for cmdlets in the stubbed module which have aliases (issue 1224). Dan Reist (@randomnote1) Use a string builder to build the function stubs. Fixed formatting issues for the function to work with modules other than SqlServer.

New DSC resource SqlServerSecureConnection New resource to configure a SQL Server instance for encrypted SQL connections.

Changes to SqlAlwaysOnService Updated integration tests to use NetworkingDsc (issue 1129).

Changes to SqlServiceAccount Fix unit tests that didn”t mock some of the calls. It no longer fail when a SQL Server installation is not present on the node running the unit test (issue 983).

StorageDsc 4.2.0.0 Disk: Added PartitionStyle parameter – Fixes Issue 137. Changed MOF name from MSFT_Disk to MSFTDSC_Disk to remove conflict with Windows built-in CIM class – Fixes Issue 167.

Opt-in to Common Tests: Common Tests – Validate Example Files To Be Published Common Tests – Validate Markdown Links Common Tests – Relative Path Length

Added .VSCode settings for applying DSC PSSA rules – fixes Issue 168.

Disk: Added “defragsvc” service conflict known issue to README.MD – fixes Issue 172.

Corrected style violations in StorageDsc.Common module – fixes Issue 153.

Corrected style violations in StorageDsc.ResourceHelper module. xActiveDirectory 2.22.0.0 Add PasswordNeverResets parameter to xADUser to facilitate user lifecycle management

Update appveyor.yml to use the default template.

Added default template files .gitattributes, and .gitignore, and .vscode folder.

Added xADForestProperties: New resource to manage User and Principal Name Suffixes for a Forest. xExchange 1.24.0.0 xExchangeHelper.psm1: Renamed common functions to use proper Verb-Noun format. Also addresses many common style issues in functions in the file, as well as in calls to these functions from other files.

MSFT_xExchTransportService: Removed functions that were duplicates of helper functions in xExchangeHelper.psm1.

Fixes an issue where only objects of type Mailbox can be specified as a Journal Recipient. Now MailUser and MailContact types can be used as well.

Update appveyor.yml to use the default template.

Added default template files .codecov.yml, .gitattributes, and .gitignore, and .vscode folder.

Add Unit Tests for xExchAntiMalwareScanning

Add remaining Unit Tests for xExchInstall, and for most common setup functions

Added ActionForUnknownFileAndMIMETypes,WSSAccessOnPublicComputersEnabled, WSSAccessOnPrivateComputersEnabled,UNCAccessOnPublicComputersEnabled UNCAccessOnPrivateComputersEnabled and GzipLevel to xExchOwaVirtualDirectory.

Added GzipLevel and AdminEnabled to xExchEcpVirtualDirectory.

Added OAuthAuthentication to xExchOabVirtualDirectory.

Updated readme with the new parameters and removed a bad parameter from xExchOwaVirtualDirectory that did not actually exist.

Updated .gitattributes to allow test .pfx files to be saved as binary

Added Cumulative Update / Exchange update support to xExchInstall resource.

Add remaining Unit Tests for all xExchangeHelper functions that don”t require the loading of Exchange DLL”s.

Renamed and moved file Examples/HelperScripts/ExchangeConfigHelper.psm1 to Modules/xExchangeCalculatorHelper.psm1. Renamed functions within the module to conform to proper function naming standards. Added remaining Unit tests for module. xFailOverCluster 1.11.0.0 Changes to xFailOverCluster Update appveyor.yml to use the default template. Added default template files .codecov.yml, .gitattributes, and .gitignore, and .vscode folder. Added FailoverClusters2012.stubs.psm1 from Windows Server 2012 and renamed existing test stub file to FailoverClusters2016.stubs.psm1. Modified Pester Describe blocks to include which version of the FailoverClusters module is being tested. Modified Pester tests to run against 2012 and 2016 stubs in sequence.

Changes to xCluster Fixed cluster creation on Windows Server 2012 by checking if the New-Cluster command supports -Force before using it (issue 188).

Changes to xClusterQuorum Changed some internal parameter names from the Windows Server 2016 version aliases which are compatible with Windows Server 2012.

Changes to xClusterNetwork Fixed Set-TargetResource for Windows Server 2012 by removing call to Update method as it doesn”t exist on this version and updates automatically.

xHyper-V 3.13.0.0 MSFT_xVMSwitch: Changed “Id” parameter form read only to optional so the VMSwitch ID can be set on Windows Server 2016. This is important for SDN setups where the VMSwitch ID must remain the same when a Hyper-V host is re-installed. Update appveyor.yml to use the default template. Added default template files .codecov.yml, .gitattributes, and .gitignore, and .vscode folder.

xWebAdministration 2.3.0.0 Update appveyor.yml to use the default template.

Added default template file .gitattributes, and added default settings for Visual Studio Code.

Line endings was fixed in files that was committed with wrong line ending.

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:

Update-Module

After installing modules, you can discover all DSC resources available to your local system with this command:

Get-DscResource

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.

Katie Keim Software Engineer PowerShell DSC Team @katiedsc (Twitter) @kwirkykat (GitHub)