What’s new in DSC Resource Kit

It’s been another busy month and we’ve seen lots of enthusiasm from many of you to help improve the DSC Resource Kit. In only the last couple of weeks we’ve merged 90 pull requests, 8 new resources have been added to 4 modules (xDefender, xExchange, xWebAdministration, xWindowsUpdate) and another 15 resources across 13 modules were updated! That brings the total number of resources in DSC Resource Kit to 220!

We are also very happy to see incoming feedback in the form of new GitHub issues and want you to know that we are looking at all of them – since our last update, 18 issues were addressed and closed.

The recently updated versions of these DSC resource modules are already available on the PowerShell Gallery – feel free to install and start using them! For a more detailed list of changes, please scroll to the table at the bottom of this post.

 

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 type a module’s name in the search box on the upper right side of the PowerShell Gallery to find a specific module.

Another way is to go directly to a specific module by typing it’s URL:

http://www.powershellgallery.com/packages/<Module_Name>

e.g.:

http://www.powershellgallery.com/packages/xWebAdministration

Of course, you can always use PowerShellGet (available in WMF 5.0) as well:

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>

 e.g.

Install-Module –Name xWebAdministration

You may choose to review the updated modules
before installing them, in which case you should use Save-Module:

Save-Module –Name xWebAdministration –Path c:\Temp

If you have previous versions of modules installed, you can update them by calling (from an elevated PowerShell prompt):

Update-Module

If there is an issue you are particularly concerned about, watch the version number in the PowerShell Gallery for updates to that particular resource. You can also file an Issue against the module on GitHub to help get it fixed.

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.

 

How can I find DSC modules on GitHub?

As we mentioned in April, we’ve open sourced development of our 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>, e.g. for xCertificate module, go to: https://github.com/PowerShell/xCertificate.

All DSC modules are also listed as submodules of the DscResources repository, so that you can see them in one place (click the xDscResources folder).

 

How can I contribute?

You are more than welcome to contribute to the development of DSC resource modules and there’s many ways to do it. 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 are not sure what can you do, but would like to help anyway, please take a look at list of open issues for DscResources repository. You can also check issues opened for specific modules by going to 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 section “How can I find DSC modules on GitHub?” for details).

 

Module name

Version

Description

xActiveDirectory

2.5.0.0

  • Updated xADDomainTrust and xADRecycleBin tests

xCertificate

1.0.1.0

  • Minor documentation updates

xChrome

1.0.2.0

  • Minor documentation updates

xDefender

0.1.0.0

  • Initial release of xDefender module with
      following resources:
    • xMpPreference

xDscResourceDesigner

1.5.0.0

  • Fixed issue with adding type twice through
      Add-Type

xExchange

1.2.0.0

  • Added xExchAntiMalwareScanning resource
  • xExchJetstress:
    • Added fix for an issue where JetstressCmd.exe
      would not relaunch successfully after ESE initialization. If Jetstress doesn’t restart, the resource will now require a reboot before proceeding.
    • xExchOwaVirtualDirectory:
      • Added `ChangePasswordEnabled` parameter
      • Added `LogonPagePublicPrivateSelectionEnabled`
         parameter
      • Added `LogonPageLightSelectionEnabled`
        parameter
      • xExchImapSettings:
        • Added `ExternalConnectionSettings` parameter
        • Added `X509CertificateName` parameter
        • xExchPopSettings:
          • Added `ExternalConnectionSettings` parameter
          • Added `X509CertificateName` parameter
          • Added EndToEndExample
          • Fixed bug where StartScheduledTask would throw
            an error message and fail to set ExecutionTimeLimit and Priority when using domain credentials

xHyper-V

3.0.0.0

  • Decoupled VM generation from underlying VHD
      format in xVMHyperV resource.
    • Breaking change: xVMHyperV resource: Generation property type changed from a String to an Integer.
    • The initial generation property was tied to
      the virtual disk format which was incorrect and has been rectified.
    • This change will only impact configurations that have previously explicitly specified the VM generation is either “vhd” or “vhdx”.

xPSDesiredStateConfiguration

3.4.0.0

  • Added logging inner exception messages in xArchive and xPackage resources
  • Fixed hash calculation in Get-CacheEntry
  • Fixed issue with PSDSCComplianceServer returning HTTP Error 401.2

xRobocopy

1.1.0.0

  • Updated Get-TargetResource function

xSharepoint

0.4.0.0

  • Fixed issue with nested modules’ cmdlets not being found

xStorage

2.0.0.0

  • Breaking change: Added support for following properties: DriveLetter, Size, FSLabel. DriveLetter is a new key property.

xTimeZone

1.2.0.0

  • Modified schema to follow best practices for singleton resources

xWebAdministration

1.7.0.0

  • Added following resources:
    • xIisHandler
    • xIisFeatureDelegation
    • xIisMimeTypeMapping
    • xWebAppPoolDefaults
    • xWebSiteDefaults
    • Modified xWebsite schema to make PhysicalPath
      required

 

xWebDeploy

1.1.0.0

  • Added WebdeployMsi setting to make xWebDeploy
    work without internet access

xWindowsUpdate

2.1.0.0

  • Added xMicrosoftUpdate DSC resource which can
    be used to enable/disable Microsoft Update in the Windows Update Settings.

 

Questions, comments?

If you’re looking into using PowerShell DSC, but have questions, are blocked by issues with current resources, or a lack of resources, let us know in the comments or create an issue on GitHub.

 

Karol Kaczmarek          

Software Engineer

PowerShell Team