We just released the DSC Resource Kit!

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

The modules updated in this release are:

AuditPolicyDsc

DFSDsc

NetworkingDsc

SecurityPolicyDsc

SharePointDsc

StorageDsc

xBitlocker

xExchange

xHyper-V

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 supposed to be today, November 28, but the public link to the call expired, so the call was cancelled. I will update the link for next time. If there is interest in rescheduling this call, the new call time will be announced on Twitter (@katiedsc or @migreene) The call for the next release cycle is also getting moved a week later than usual to January 9 at 12PM (Pacific standard time). Join us to ask questions and give feedback about your experience with the DSC Resource Kit.

The next DSC Resource Kit release will be on Wednesday, January 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 AuditPolicyDsc 1.3.0.0 Update LICENSE file to match the Microsoft Open Source Team standard.

Added the AuditPolicyGuid resource. DFSDsc 4.2.0.0 Add support for modifying staging quota size in MSFT_DFSReplicationGroupMembership – fixes Issue 77.

Refactored module folder structure to move resource to root folder of repository and remove test harness – fixes Issue 74.

Updated Examples to support deployment to PowerShell Gallery scripts.

Remove exclusion of all tags in appveyor.yml, so all common tests can be run if opt-in.

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

Updated LICENSE file to match the Microsoft Open Source Team standard – fixes Issue 79 NetworkingDsc 6.2.0.0 Added .VSCode settings for applying DSC PSSA rules – fixes Issue 357.

Updated LICENSE file to match the Microsoft Open Source Team standard – fixes Issue 363

MSFT_NetIPInterface: Added a new resource for configuring the IP interface settings for a network interface.

SecurityPolicyDsc 2.6.0.0 Added SecurityOption – Network_access_Restrict_clients_allowed_to_make_remote_calls_to_SAM

Bug fix – Issue 105 – Spelling error in SecurityOption”User_Account_Control_Behavior_of_the_elevation_prompt_for_standard_users”

Bug fix – Issue 90 – Corrected value for Microsoft_network_server_Server_SPN_target_name_validation_level policy SharePointDsc 3.0.0.0 Changes to SharePointDsc Added support for SharePoint 2019 Added CredSSP requirement to the Readme files Added VSCode Support for running SharePoint 2019 unit tests Removed the deprecated resources SPCreateFarm and SPJoinFarm (replaced in v2.0 by SPFarm)

SPBlobCacheSettings Updated the Service Instance retrieval to be language independent

SPConfigWizard Fixed check for Ensure=Absent in the Set method

SPInstallPrereqs Added support for detecting updated installation of Microsoft Visual C++ 2015/2017 Redistributable (x64) for SharePoint 2016 and SharePoint 2019.

SPSearchContentSource Added support for Business Content Source Type

SPSearchMetadataCategory New resource added

SPSearchServiceApp Updated resource to make sure the presence of the service app proxy is checked and created if it does not exist

SPSecurityTokenServiceConfig The resource only tested for the Ensure parameter. Added more parameters

SPServiceAppSecurity Added support for specifying array of access levels. Changed implementation to use Grant-SPObjectSecurity with Replace switch instead of using a combination of Revoke-SPObjectSecurity and Grant-SPObjectSecurity Added all supported access levels as available values. Removed unknown access levels: Change Permissions, Write, and Read

SPUserProfileProperty Removed obsolete parameters (MappingConnectionName, MappingPropertyName, MappingDirection) and introduced new parameter PropertyMappings

SPUserProfileServiceApp Updated the check for successful creation of the service app to throw an error if this is not done correctly The following changes will break v2.x and earlier configurations that use these resources:

Implemented IsSingleInstance parameter to force that the resource can only be used once in a configuration for the following resources: SPAntivirusSettings SPConfigWizard SPDiagnosticLoggingSettings SPFarm SPFarmAdministrators SPInfoPathFormsServiceConfig SPInstall SPInstallPrereqs SPIrmSettings SPMinRoleCompliance SPPasswordChangeSettings SPProjectServerLicense SPSecurityTokenServiceConfig SPShellAdmin

Standardized Url/WebApplication parameter to default WebAppUrl parameter for the following resources: SPDesignerSettings SPFarmSolution SPSelfServiceSiteCreation SPWebAppBlockedFileTypes SPWebAppClientCallableSettings SPWebAppGeneralSettings SPWebApplication SPWebApplicationAppDomain SPWebAppSiteUseAndDeletion SPWebAppThrottlingSettings SPWebAppWorkflowSettings

Introduced new mandatory parameters SPSearchResultSource: Added option to create Result Sources at different scopes. SPServiceAppSecurity: Changed parameter AccessLevel to AccessLevels in MSFT_SPServiceAppSecurityEntry to support array of access levels. SPUserProfileProperty: New parameter PropertyMappings

SharePointDsc 3.1.0.0 Changes to SharePointDsc Updated LICENSE file to match the Microsoft Open Source Team standard.

ProjectServerConnector Added a file hash validation check to prevent the ability to load custom code into the module.

SPFarm Fixed localization issue where TypeName was in the local language.

SPInstallPrereqs Updated links in the Readme.md file to docs.microsoft.com. Fixed required prereqs for SharePoint 2019, added MSVCRT11.

SPManagedMetadataServiceApp Fixed issue where Get-TargetResource method throws an error when the service app proxy does not exist.

SPSearchContentSource Corrected issue where the New-SPEnterpriseSearchCrawlContentSource cmdlet was called twice.

SPSearchServiceApp Fixed issue where Get-TargetResource method throws an error when the service application pool does not exist. Implemented check to make sure cmdlets are only executed when it actually has something to update. Deprecated WindowsServiceAccount parameter and moved functionality to new resource (SPSearchServiceSettings).

SPSearchServiceSettings Added new resource to configure search service settings.

SPServiceAppSecurity Fixed unavailable utility method (ExpandAccessLevel). Updated the schema to no longer specify username as key for the sub class.

SPUserProfileServiceApp Fixed issue where localized versions of Windows and SharePoint would throw an error.

SPUserProfileSyncConnection Corrected implementation of Ensure parameter.

StorageDsc 4.3.0.0 WaitForDisk: Added readonly-property isAvailable which shows the current state of the disk as a boolean – fixes Issue 158.

xBitlocker 1.3.0.0 Update appveyor.yml to use the default template.

Added default template files .gitattributes, and .vscode settings.

Fixes most PSScriptAnalyzer issues.

Fix issue where AutoUnlock is not set if requested, if the disk was originally encrypted and AutoUnlock was not used.

Add remaining Unit Tests for xBitlockerCommon.

Add Unit tests for MSFT_xBLTpm

Add remaining Unit Tests for xBLAutoBitlocker

Add Unit tests for MSFT_xBLBitlocker

Moved change log to CHANGELOG.md file

Fixed Markdown validation warnings in README.md

Added .MetaTestOptIn.json file to root of module

Add Integration Tests for module resources

Rename functions with improper Verb-Noun constructs

Add comment based help to any functions without it

Update Schema.mof Description fields

Fixes issue where Switch parameters are passed to Enable-Bitlocker even if the corresponding DSC resource parameter was set to False (Issue 12) xExchange 1.25.0.0 Opt-in for the common test flagged Script Analyzer rules (issue 234).

Opt-in for the common test testing for relative path length.

Removed the property PSDscAllowPlainTextPassword from all examples so the examples are secure by default. The property PSDscAllowPlainTextPassword was previously needed to (test) compile the examples in the CI pipeline, but now the CI pipeline is using a certificate to compile the examples.

from all examples so the examples are secure by default. The property was previously needed to (test) compile the examples in the CI pipeline, but now the CI pipeline is using a certificate to compile the examples. Opt-in for the common test that validates the markdown links.

Fix typo of the word “Certificate” in several example files.

Add spaces between array members.

Add initial set of Unit Tests (mostly Get-TargetResource tests) for all remaining resource files.

Add WaitForComputerObject parameter to xExchWaitForDAG

Add spaces between comment hashtags and comments.

Add space between variable types and variables.

Fixes issue where xExchMailboxDatabase fails to test for a Journal Recipient because the module did not load the Get-Recipient cmdlet (335).

Fixes broken Integration tests in MSFT_xExchMaintenanceMode.Integration.Tests.ps1 (336).

Fix issue where Get-ReceiveConnector against an Absent connector causes an error to be logged in the MSExchange Management log.

Rename poorly named functions in xExchangeDiskPart.psm1 and MSFT_xExchAutoMountPoint.psm1, and add comment based help. xHyper-V 3.14.0.0 MSFT_xVMHost: Added support to Enable / Disable VM Live Migration. Fixes Issue 155.



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 Kragenbrink Software Engineer PowerShell DSC Team @katiedsc (Twitter) @kwirkykat (GitHub)