Desired State Configuration 2.0

With the release of PowerShell 7.2, the PSDesiredStateConfiguration module is no longer included in the PowerShell package. Separating DSC into its own module allows us to invest and develop DSC independent of PowerShell and reduces the size of the PowerShell package. Users of DSC can enjoy the benefit of upgrading DSC without the need to upgrade PowerShell, accelerating time to deployment of new DSC features. Users that want to continue using DSC v2 can download PSDesiredStateConfiguration 2.0.7 from the PowerShell Gallery.

Users working with non-Windows environments can expect cross-platform features in DSC v3. For more information about the future of DSC, see the PowerShell Team blog.

To install PSDesiredStateConfiguration 2.0.7 from the PowerShell Gallery:

Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99

Important

Be sure to include the parameter MaximumVersion or you could install version 3 (or higher) of PSDesireStateConfiguration that contains significant differences.

Use Case for DSC 2.0

DSC 2.0 is supported for use with Azure Automanage's machine configuration feature. Other scenarios, such as directly calling DSC Resources with Invoke-DscResource, may be functional but aren't the primary intended use of this version.

If you aren't using Azure Automanage's machine configuration feature, you should use DSC 1.1.

DSC 3.0 is available in public beta and should only be used with Azure machine configuration (which supports it) or for non-production environments to test migrating away from DSC 1.1.

Changes from DSC 1.1

There are several major changes in DSC 2.0.

The only way to use DSC Resources in 2.0 is with the Invoke-DscResource cmdlet and Azure Automanage's machine configuration feature.

The following cmdlets have been removed:

  • Disable-DscDebug
  • Enable-DscDebug
  • Get-DscConfiguration
  • Get-DscConfigurationStatus
  • Get-DscLocalConfigurationManager
  • Publish-DscConfiguration
  • Remove-DscConfigurationDocument
  • Restore-DscConfiguration
  • Set-DscLocalConfigurationManager
  • Start-DscConfiguration
  • Stop-DscConfiguration
  • Test-DscConfiguration
  • Update-DscConfiguration

The following features have been removed:

  • The pull server
  • The local configuration manager (LCM)

The following features aren't supported:

  • Multi-system DSC Configurations
  • Cross-system dependencies (the WaitFor* DSC Resources)
  • Rebooting behavior for DSC Resources
  • Adding parameters to DSC Configuration blocks
  • Using flow control statements in DSC Configuration blocks
  • Using credentials in DSC Configuration blocks
  • Using the ConfigurationData parameter with a DSC Configuration
  • Using the Node keyword in a DSC Configuration
  • Using composite DSC Configurations (DSC Configurations that nest another DSC Configuration inside them)

The built-in DSC Resources have been removed. The PSDscResources module includes replacements for some removed DSC Resources. Refer to the following table for the status of the DSC Resources.

DSC Resource Status
Archive Replaced by the Archive DSC Resource in PSDscResources.
Environment Replaced by the Environment DSC Resource in PSDscResources.
File Removed. This DSC Resource isn't available in DSC v2 and later.
Group Replaced by the Group DSC Resource in PSDscResources.
GroupSet Replaced by the GroupSet DSC Resource in PSDscResources.
Log Removed. This DSC Resource isn't available in DSC v2 and later.
Package Partially replaced by the MsiPackage DSC Resource in PSDscResources.
ProcessSet Replaced by the ProcessSet DSC Resource in PSDscResources.
Registry Replaced by the Registry DSC Resource in PSDscResources.
Script Replaced by the Script DSC Resource in PSDscResources.
Service Replaced by the Service DSC Resource in PSDscResources.
ServiceSet Replaced by the ServiceSet DSC Resource in PSDscResources.
User Replaced by the User DSC Resource in PSDscResources.
WaitForAll Removed. This DSC Resource isn't available in DSC v2 and later.
WaitForAny Removed. This DSC Resource isn't available in DSC v2 and later.
WaitForSome Removed. This DSC Resource isn't available in DSC v2 and later.
WindowsFeature Replaced by the WindowsFeature DSC Resource in PSDscResources.
WindowsFeatureSet Replaced by the WindowsFeatureSet DSC Resource in PSDscResources.
WindowsOptionalFeature Replaced by the WindowsOptionalFeature DSC Resource in PSDscResources.
WindowsOptionalFeatureSet Replaced by the WindowsOptionalFeatureSet DSC Resource in PSDscResources.
WindowsPackageCab Replaced by the WindowsPackageCab DSC Resource in PSDscResources.
WindowsProcess Replaced by the WindowsProcess DSC Resource in PSDscResources.