DSC Resource Kit Release May 2018

We just released the DSC Resource Kit!

This release includes updates to 12 DSC resource modules. In these past 6 weeks, 52 pull requests have been merged and 63 issues have been closed, all thanks to our amazing community!

The modules updated in this release are:

  • ActiveDirectoryCSDsc (previously xAdcsDeployment)
  • CertificateDsc (previously xCertificate)
  • ComputerManagementDsc (previously xComputerManagement)
  • DFSDsc (previously xDFS)
  • SqlServerDsc
  • xDnsServer
  • xDscResourceDesigner
  • xExchange
  • xNetworking
  • xPendingReboot
  • xSMBShare
  • 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 on April 25. A recording of our updates will be available on YouTube soon. Join us for the next call at 12PM (Pacific time) on June 6 to ask questions and give feedback about your experience with the DSC Resource Kit.

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
ActiveDirectoryCSDsc
(previously xAdcsDeployment)
2.0.0.0
  • BREAKING CHANGE: Renamed module to ActiveDirectoryCSDsc – see issue 38
  • Enabled PSSA rule violations to fail build – Fixes Issue 44.
CertificateDsc
(previously xCertificate)
4.0.0.0
  • BREAKING CHANGE
    • Renamed xCertificate to CertificateDsc – fixes Issue 114.
    • Changed all MSFT_xResourceName to MSFT_ResourceName.
    • Updated DSCResources, Examples, Modules and Tests for new naming.
    • Updated Year to 2018 in License and Manifest.
    • Updated README.md from xCertificate to CertifcateDsc
    • Removed unnecessary code from:
      • CertificateDsc\Modules\CertificateDsc\DSCResources\MSFT_CertReq\MSFT_CertReq.psm1
        • Deleted $rspPath = [System.IO.Path]::ChangeExtension($workingPath, “.rsp”)
ComputerManagementDsc
(previously xComputerManagement)
5.0.0.0
  • BREAKING CHANGE:
    • Renamed ComputerManagement to ComputerManagementDsc – fixes Issue 119.
    • Changed all MSFT_xResourceName to MSFT_ResourceName.
    • Updated DSCResources, Examples, Modules and Tests with new naming.
    • Updated Year to 2018 in License and Manifest.
    • Updated README.md from xComputerManagement to ComputerManagementDsc.
  • OfflineDomainJoin:
    • Cleaned up spacing in strings file to make consistent with other resources.
  • VirtualMemory:
    • Converted strings to single quotes in integration test.
DFSDsc
(previously xDFS)
4.0.0.0
  • BREAKING CHANGE
    • Renamed xDFS to DFSDsc – fixes Issue 55.
    • Changed all MSFT_xResourceName to MSFT_DFSResourceName.
    • Updated DSCResources, Examples, Modules and Tests for new naming.
    • Updated Year to 2018 in License and Manifest.
    • Changed all Modules\DFSDsc\Examples\Resources to DFSResourceName.
  • Added the VS Code PowerShell extension formatting settings that cause PowerShell files to be formatted as per the DSC Resource kit style guidelines.
  • Improve layout of badge area in README.MD.
  • Disabled MD013 rule checking to enable badge table.
  • Updated Year to 2017 in License and Manifest.
  • Added .github support files:
    • CONTRIBUTING.md
    • ISSUE_TEMPLATE.md
    • PULL_REQUEST_TEMPLATE.md
  • Opted into Common Tests “Validate Module Files” and “Validate Script Files”.
  • Converted files with UTF8 with BOM over to UTF8 – fixes Issue 47.
  • Added Documentation and Examples section to Readme.md file – see issue 49.
  • Prevent unit tests from DSCResource.Tests from running during test execution – fixes Issue 51.
  • Updated tests to meet Pester V4 guidelines – fixes Issue 53.
SqlServerDsc 11.2.0.0
  • Changes to SqlServerDsc
    • Added new test helper functions in the CommonTestHelpers module. These are used by the integration tests.
      • New-IntegrationLoopbackAdapter: Installs the PowerShell module “LoopbackAdapter” from PowerShell Gallery and creates a new network loopback adapter.
      • Remove-IntegrationLoopbackAdapter: Removes a new network loopback adapter.
      • Get-NetIPAddressNetwork: Returns the IP network address from an IPv4 address and prefix length.
    • Enabled PSSA rule violations to fail build in the CI environment.
    • Renamed SqlServerDsc.psd1 to be consistent (issue 1116). Glenn Sarti (@glennsarti)
  • Changes to Unit Tests
  • Changes to SqlAlwaysOnService
    • Updated the integration tests to use a loopback adapter to be less intrusive in the build worker environment.
    • Minor code cleanup in integration test, fixed the scope on variable.
  • Changes to SqlSetup
    • Updated the integration tests to stop some services after each integration test. This is to save memory on the AppVeyor build worker.
    • Updated the integration tests to use a SQL Server 2016 Service Pack 1.
    • Fixed Script Analyzer rule error.
  • Changes to SqlRS
    • Updated the integration tests to stop the Reporting Services service after the integration test. This is to save memory on the AppVeyor build worker.
    • The helper function Restart-ReportingServicesService should no longer timeout when restarting the service (issue 1114).
  • Changes to SqlServiceAccount
    • Updated the integration tests to stop some services after each integration test. This is to save memory on the AppVeyor build worker.
  • Changes to SqlServerDatabaseMail
    • Fixed Script Analyzer rule error.
xDnsServer 1.10.0.0
xDscResourceDesigner 1.10.0.0
  • Converted appveyor.yml to install Pester from PSGallery instead of from Chocolatey.
  • Helper function Test-xDscSchemaEncoding now supports PowerShell Core (issue 64).
  • Changed README.md encoding to UTF8.
xExchange 1.20.0.0
  • Fix issue where test of type Microsoft.Exchange.Data.Unlimited fails
xNetworking 5.7.0.0
  • Enabled PSSA rule violations to fail build – Fixes Issue 320.
  • MSFT_xNetAdapterAdvancedProperty:
    • Enabled setting the same property on multiple network adapters – Fixes issue 324.
xPendingReboot 0.4.0.0
  • Converted appveyor.yml to install Pester from PSGallery instead of from Chocolatey.
  • Fixes registry not being evaluated correctly.
  • Fixes failing tests introduced in changes to Pester 4.
  • Change layout of parameters to compile with style guide.
xSMBShare 2.1.0.0
  • Corrected typo on ShareState and ShareType descriptions (Specfies -> Specifies)
xWebAdministration 1.20.0.0
  • Fix Get-DscConfiguration failure with xWebApplication and xWebSite resources (issue 302 and issue 314).
  • Add Codecov support.
  • Added .vscode\settings.json so that code can be easily formatted in VSCode closer according to the style guideline.
  • Updated README.md with a branches section, and added Codecov badges.
  • Fix unit test for helper function Find-Certificate that could not find the test helper function Install-NewSelfSignedCertificateExScript.
  • Fix unit tests for xWebSite that failed because Get-Command and “Stop-WebStie` wasn”t properly mocked.

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