DSC Resource Kit Update

We’ve just updated the DSC Resource Kit for April!
Since our last update in February, there have been 107 merged pull requests with 49 closed issues.
Thanks to our wonderful community, the DSC Resource Kit now consists of 279 resources!

We have updated 21 DSC modules which include 6 new resources.

The updated modules are:

  • xActiveDirectory
  • xAzurePack
  • xComputerManagement
  • xCredSSP
  • xDnsServer
  • xDscDiagnostics
  • xDSCResourceDesigner
  • xFailOverCluster
  • xFirefox
  • xHyper-V
  • xMySql
  • xNetworking
  • xPendingReboot
  • xPSDesiredStateConfiguration
  • xRemoteDesktopSessionHost
  • xSCSMA
  • xSharePoint
  • xSQLServer
  • xStorage
  • xWebAdministration
  • xWindowsUpdate

For a detailed list of what resources and fixes have been implemented, see the “What Has Recently Been Released?” section below.

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)!

Where Can I Find All Released DSC 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.

Another way to find a specific module is to go directly to its URL on GitHub:
http://www.powershellgallery.com/packages/< Module_Name >
For example:
http://www.powershellgallery.com/packages/xWebAdministration

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

How Can I Install DSC Resources 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

If you have previous versions of modules installed, you can update them all by opening an elevated PowerShell prompt and using this command:

Update-Module

After installing the modules, you can discover all of the resources available to your local system by running:

Get-DscResource

As with the previous Resource Kits, all the resources are experimental. The “x” prefix in the names stands for experimental – which means these resources are provided AS IS and are not supported through any Microsoft support program or service.

If there is an issue for a module you are particularly concerned about, watch the version number of the module in the PowerShell Gallery for updates. You can also file an issue against the module on GitHub to request a fix.

How Can I Find DSC Modules on GitHub?

We’ve open-sourced the development of DSC resources on GitHub. You can see the most recent state of all resources by going to their GitHub pages 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 so that you can see them in one place.

How Can I Contribute?

You are more than welcome to contribute to the development of DSC resource modules. 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. Most of the information you need to get started can be found in our contributing guide.

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 opened for specific modules by going to:
https://github.com/PowerShell/< Module_Name >/issues
For example:
https://github.com/PowerShell/xPSDesiredStateConfiguration/issues

Your help in developing DSC is much appreciated!

What Has Been Recently Released?

You can see a detailed summary of all recent changes in the table below.
If you want to see a change log for previous versions, go to the GitHub repository page for a given module (see the “How Can I Find DSC Modules on GitHub?” section above for details).

Module Name Version Description
xActiveDirectory 2.10.0.0
  • xADDomainDefaultPasswordPolicy: New resource added.
  • xWaitForADDomain: Updated to make it compatible with systems that don’t have the ActiveDirectory module installed, and to allow it to function with domains/forests that don’t have a domain controller with Active Directory Web Services running.
  • xADGroup: Fixed bug where specified credentials were not used to retrieve existing group membership.
  • xADDomain: Added check for Active Directory cmdlets.
  • xADDomain: Added additional error trapping, verbose and diagnostic information.
  • xADDomain: Added unit test coverage.
  • Fixes CredentialAttribute and other PSScriptAnalyzer tests in xADCommon, xADDomin, xADGroup, xADOrganizationalUnit and xADUser resources.
xAzurePack 1.4.0.0
  • Includes compatibility for Update Rollup 9.1
xComputerManagement 1.5.0.0
  • Update Unit tests to use the standard folder structure and test templates.
  • Added .gitignore to prevent commit of DSCResource.Tests.
xCredSSP 1.1.0.0
  • Made sure DSC reboots if credSS is enabled
xDnsServer 1.6.0.0
  • Added Resource xDnsServerForwarder.
  • Updated README.md with documentation and examples for xDnsServerForwarder resource.
  • Added Resource xDnsServerADZone that sets an AD integrated DNS zone.
  • Updated README.md with documentation and examples for xDnsServerADZone resource.
  • Fixed bug in xDnsRecord causing Test-TargetResource to fail with multiple (round-robin) entries.
  • Updated README.md with example DNS round-robin configuration.
xDscDiagnostics 2.2.0.0
  • Add the Get-XDscConfigurationDetail cmdlet
xDscResourceDesigner 1.8.0.0
  • Fixed issue where ValueMap on an Array was incorrectly flagged as an error
xFailOverCluster 1.2.0.0
  • xCluster: Added -NoStorage switch to add-clusterNode. This prevents disks from being automatically added when joining a node to a cluster
xFirefox 1.1.0.0
  • Updated MFST_xFireFox to pull latest version by default and use HTTPS
xHyper-V 3.4.0.0
  • MSFT_xVMHyperV: Fixed bug causing Test-TargetResource to fail when VM had snapshots.
  • MSFT_xVMHyperV: Adds localization support.
  • MSFT_xVMSwitch: Fixes bug where virtual switches are duplicated when BandwidthReservationMode is not specified.
xMySql 2.1.0.0
  • Added import for local MSFT_xMySqlUtilities in Tests
  • Fixed a SQL syntax error for REVOKE in MSFT_xMySqlGrant
xNetworking 2.8.0.0
  • Templates folder removed. Use the test templates in the Tests.Template folder in the DSCResources repository instead.
  • Added the following resources:
    • MSFT_xHostsFile resource to manage hosts file entries.
  • MSFT_xFirewall: Fix test of Profile parameter status.
  • MSFT_xIPAddress: Fix false negative when desired IP is a substring of current IP.
xPendingReboot 0.3.0.0
  • Suppresses warning output in Test-TargetResource when ‘SkipCcmClientSDK’ is specified.
  • Fixes ‘Null-valued expression’ bug when ‘Auto Update’ or ‘Component Based Servicing’ registry keys are empty.
xPSDesiredStateConfiguration 3.9.0.0
  • Added more information how to use Publish-DSCModuleAndMof cmdlet and samples
  • Removed compliance server samples
xRemoteDesktopSessionHost 1.2.0.0
  • Fixed an issue with version checks where OS version greater than 9 would fail (Windows 10/Server 2016)
xSCSMA 1.3.0.0
  • Added new resource to manage a single or directory of Runbooks, xRunbookDirectory.
  • Added xSmaVariable resource.
xSharepoint 0.12.0.0
  • Removed Visual Studio project files, added VSCode PowerShell extensions launch file
  • Added xSPDatabaseAAG, xSPFarmSolution and xSPAlternateUrl resources
  • Fixed bug with xSPWorkManagementServiceApp schema
  • Added support to xSPSearchServiceApp to configure the default content access account
  • Added support for SSL web apps to xSPWebApplication
  • Added support for xSPDistributedCacheService to allow provisionin across multiple servers in a specific sequence
  • Added version as optional parameter for the xSPFeature resource to allow upgrading features to a specific version
  • Fixed a bug with xSPUserProfileSyncConnection to ensure it gets the correct context
  • Added MOF descriptions to all resources to improve editing experience in PowerShell ISE
  • Added a check to warn about issue when installing SharePoint 2013 on a server with .NET 4.6 installed
  • Updated examples to include installation resources
  • Fixed issues with kerberos and anonymous access in xSPWebApplication
  • Add support for SharePoint 2016 on Windows Server 2016 Technical Preview to xSPInstallPrereqs
xSqlServer 1.5.0.0
  • Added new resource xSQLServerDatabase that allows adding an empty database to a server
xStorage 2.5.0.0
  • Added test for existing file system to allow simple drive letter assignment in MSFT_xDisk.psm1
  • Modified Test verbose message to correctly reflect blocksize value in MSFT_xDisk.psm1
  • Added unit test for new volume with out existing partition for MSFT_xDisk.psm1
xWebAdministration 1.10.0.0
  • Fixed script analyzer failures in examples
  • xWebsite: Fixed an issue in BindingInfo validation that caused multiple bindings with the same port and protocol treated as invalid.
  • Changed PhysicalPath in xWebsite to be optional
  • Changed WebApplication in xWebVirtualDirectory to accept empty strings for referring to the top-level IIS site
xWindowsUpdate 2.4.0.0
  • Fixed PSScriptAnalyzer error in examples

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