/DscResources

Central repository for PowerShell Desired State Configuration (DSC) resources.

Primary LanguagePowerShellMIT LicenseMIT

DSC Resources

Join the chat at https://gitter.im/PowerShell/DscResources

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.

Repository structure

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

Production releases

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

Development builds

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

Reporting bugs or suggesting features

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.

Contributing

See our contribution guidelines.

Maintaining

See our guidelines for DSC resource maintainers.

Dashboard

You can see dashboard of all open issues and pull requests across DSC Resource here: Stories in Ready