DSC Resource Kit June Release

The June release of the DSC Resouce Kit is out!

This release includes 12 updated DSC resource modules and 20 new DSC resources.
Since the last release on May 18, there have been 106 merged pull requests and 42 closed issues.

The modules updated in this release are:

  • SharePointDsc
  • xActiveDirectory
  • xCertificate
  • xComputerManagement
  • xDFS
  • xExchange
  • xFailOverCluster
  • xNetworking
  • xPSDesiredStateConfiguration
  • xSQLServer
  • xTimeZone
  • xWebAdministration

We also have our first ever community call for the DSC Resource Kit tomorrow 1-3PM PT!
Join us to ask questions and give feedback about your experience with the DSC Resource Kit.
You can read more about the call in the blog post here.

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 Release Notes
SharePointDsc 1.1.0.0
  • Added SPBlobCacheSettings, SPOfficeOnlineServerBinding, SPWebAppPermissions, SPServiceAppProxyGroup, SPWebAppProxyGroup and SPUserProfileServiceAppPermissions resources
  • SPUserProfileSyncService Remove Status field from Get-TargResource: not in MOF, redundant with Ensure
  • Improvement with SPInstallPrereqs on SPS2013 to accept 2008 R2 or 2012 SQL native client not only 2008 R2
  • Fixed a bug with SPTimerJobState that prevented a custom schedule being applied to a timer job
  • Fixed a bug with the detection of group principals vs. user principals in SPServiceAppSecurity and SPWebAppPolicy
  • Removed redundant value for KB2898850 from SPInstallPrereqs, also fixed old property name for DotNetFX
  • Fixed a bug with SPAlternateUrl that prevented the test method from returning “true” when a URL was absent if the optional URL property was specified in the config
  • Fixed bugs in SPAccessServiceApp and SPPerformancePointServiceApp with type names not being identified correctly
  • Added support for custom database name and server to SPPerformancePointServiceApp
  • Added solution level property to SPFarmSolution
  • Fixed a bug with SPSearchServiceApp that prevents the default crawl account from being managed after it is initially set
  • Removed dependency on Win32_Prouct from SPInstallPrereqs
xActiveDirectory 2.12.0.0
  • xADDomainController: Customer identified two cases of incorrect variables being called in Verbose output messages. Corrected.
  • xADComputer: New resource added.
xCertificate 2.1.0.0
  • Fixed xCertReq to support CA Root Name with spaces
xComputerManagement 1.7.0.0
  • Added support for enabling or disabling scheduled tasks
  • The Name parameter resolves to $env:COMPUTERNAME when the value is localhost
xDFS 3.1.0.0
  • MSFT_xDFSNamespaceServerConfiguration- resource added.
  • Corrected names of DFS Namespace sample files to indicate that they are setting Namespace roots and folders.
  • Removed Pester version from AppVeyor.yml.
xExchange 1.8.0.0
  • Fixed PSSA issues in:
    • MSFT_xExchClientAccessServer
    • MSFT_xExchAntiMalwareScanning
    • MSFT_xExchWaitForMailboxDatabase
    • MSFT_xExchWebServicesVirtualDirectory
    • MSFT_xExchExchangeCertificate
    • MSFT_xExchWaitForDAG
    • MSFT_xExchUMService
    • MSFT_xExchUMCallRouterSettings
    • MSFT_xExchReceiveConnector
    • MSFT_xExchPowershellVirtualDirectory
    • MSFT_xExchPopSettings
    • MSFT_xExchOwaVirtualDirectory
    • MSFT_xExchOutlookAnywhere
    • MSFT_xExchOabVirtualDirectory
    • MSFT_xExchMapiVirtualDirectory
    • MSFT_xExchMailboxServer
    • MSFT_xExchImapSettings
    • MSFT_xExchExchangeServer
    • MSFT_xExchEventLogLevel
    • MSFT_xExchEcpVirtualDirectory
    • MSFT_xExchDatabaseAvailabilityGroupNetwork
    • MSFT_xExchDatabaseAvailabilityGroupMember
    • MSFT_xExchDatabaseAvailabilityGroup
xFailOverCluster 1.4.0.0
  • xClusterDisk: Fixed Test-TargetResource logic
xPSDesiredStateConfiguration 3.11.0.0
  • xRemoteFile:
    • Added parameters:
      • TimeoutSec
      • Proxy
      • ProxyCredential
    • Added unit tests.
    • Corrected Style Guidelines issues.
    • Added Localization support.
    • URI parameter supports File://.
    • Get-TargetResource returns URI parameter.
    • Fixed logging of error message reported when download fails.
    • Added new example Sample_xRemoteFileUsingProxy.ps1.
  • Examples: Fixed missing newline at end of PullServerSetupTests.ps1.
  • xFileUpload: Added PSSA rule suppression attribute.
  • xPackageResource: Removed hardcoded ComputerName “localhost” parameter from Get-WMIObject to eliminate PSSA rule violation. The parameter is not required.
  • Added .gitignore to prevent DSCResource.Tests from being commited to repo.
  • Updated AppVeyor.yml to use WMF 5 build OS so that latest test methods work.
  • Updated xWebService resource to not deploy Devices.mdb if esent provider is used
  • Fixed $script:netsh parameter initialization in xWebService resource that was causing CIM exception when EnableFirewall flag was specified.
  • xService:
    • Fixed a bug where, despite no state specified in the config, the resource test returns false if the service is not running
    • Fixed bug in which Automatice StartupType did not match the “Auto” StartMode in Test-TargetResource.
  • xPackage: Fixes bug where CreateCheckRegValue was not being removed when uninstalling packages
  • Replaced New-NetFirewallRule cmdlets with netsh as this cmdlet is not available by default on some downlevel OS such as Windows 2012 R2 Core.
  • Added the xEnvironment resource
  • Added the xWindowsFeature resource
  • Added the xScript resource
  • Added the xUser resource
  • Added the xGroupSet resource
  • Added the xProcessSet resource
  • Added the xServiceSet resource
  • Added the xWindowsFeatureSet resource
  • Added the xWindowsOptionalFeatureSet resource
  • Merged the in-box Service resource with xService and added tests for xService
  • Merged the in-box Archive resource with xArchive and added tests for xArchive
  • Merged the in-box Group resource with xGroup and added tests for xGroup
xNetworking 2.10.0.0
  • Added the following resources:
    • MSFT_xNetAdapterBinding resource to enable/disable network adapter bindings.
  • Updated Sample_xIPAddress_*.ps1 examples to show correct usage of setting a Static IP address to prevent issue when DHCP assigned IP address already matches staticly assigned IP address.
xSQLServer 1.7.0.0
  • Resources Added
    • xSQLServerConfiguration
xTimeZone 1.5.0.0
  • Fixed localization problem with DSC configuration Test/Get
xWebAdministration 1.12.0.0
  • xWebAppPool updates:
    • Replaced 3 calls to Invoke-Expression with a call to a new helper function – Get-Property
  • xWebsite updates:
    • Bugfix for #131 The site name should be passed in as argument for Test-AuthenticationInfo
    • Improved BindingInfo validation: the HostName property is required for use with Server Name Indication (i.e., when the SslFlags property is set to 1 or 3).
  • Adding conditional logic to install the test helper module from the gallery if the user downloaded the module from the gallery.
  • Added xSSLSettings integration tests
  • Added fixes to xSSLSettings. Corrected spelling and formatting in base resource and tests. Added misc comments. Added ValidateSet to bindings param.
  • Added xIISLogging resource which supports for the following options:
    • LogPath
    • LogFlags
    • LogPeriod
    • LogTruncateSize
    • LoglocalTimeRollover
    • LogFormat
  • Added IIS Logging to xWebsite which support for the following options:
    • LogPath
    • LogFlags
    • LogPeriod
    • LogTruncateSize
    • LoglocalTimeRollover
    • LogFormat
  • Added xWebApplication integration tests
  • Added fixes to xWebApplication. Formatted resources to DSC StyleGuideLines, fixed logging statements, fixed incorrect Get-TargetResource param block, fixed Test-SslFlags validation, fixed unit test mocking of Test-SslFlags, added Ssl128 option to SslFlags

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)