Windows PowerShell Desired State Configuration (DSC) provides a configuration platform built into Windows that is based on open standards. DSC is flexible enough to function reliably and consistently in each stage of the deployment lifecycle (development, test, pre-production, production), as well as during scale-out, which is required in the cloud world.
To learn more about Windows PowerShell Desired State Configuration, check out the blog posts on the PowerShell Blog (this is a good starting point). There are also great community resources, such as PowerShell.org, or PowerShell Magazine.
If you would like to use DSC on Linux, there is a step by step guide available on the Building Clouds Blog and the source is available in the Microsoft OpenTech repo.
This is the central repository for PowerShell Desired State Configuration (DSC) resources. DSC resources are packaged in PowerShell modules, along with tests, documentation, and examples, each in their own GitHub repositories. These repositories are included as submodules of the DscResources repository you're currently browsing.
You can clone this repository to download the source for all DSC resource modules
git clone --recursive https://github.com/PowerShell/DscResources.git
Or just download the respository's structure and documentation
git clone https://github.com/PowerShell/DscResources.git
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
Nuget feeds with development builds (created every time we merge PR/push commit) are available for all our modules under:
https://ci.appveyor.com/nuget/MODULE_NAME
e.g.:
https://ci.appveyor.com/nuget/xpsdesiredstateconfiguration
To use it, first register new PSRepository using PowerShellGet:
Register-PSRepository -Name <Repository_Name> -SourceLocation https://ci.appveyor.com/nuget/<Module_Name>
e.g.
Register-PSRepository -Name xExchangeDev -SourceLocation https://ci.appveyor.com/nuget/xexchange
Use Find-Module to list available versions of the module:
Find-Module -Repository <Repository_Name>
e.g.
Find-Module -Repository xExchangeDev
To install latest development version, use the following command:
Install-Module -Name <Module_Name> -Repository <Repository_Name>
e.g.
Install-Module -Name xExchange -Repository xExchangeDev
You can also install specific version of the module by adding –RequiredVersion parameter:
Install-Module -Name <Module_Name> -Repository <Repository_Name> -RequiredVersion <Version_Number>
e.g.
Install-Module -Name xExchange -Repository xExchangeDev -RequiredVersion 1.2.0.48
If you've found a bug in a particular DSC module, or you have a suggestion for how to improve it, submit an issue in the module's repository.
Learn more about writing useful bug reports.
See our contribution guidelines.
See our guidelines for DSC resource maintainers.
You can see dashboard of all open issues and pull requests across DSC Resource here: