In September, Microsoft released PowerShell Desired State Configuration (DSC) with twelve built in resources.
Three months later (December), we added eight more resources with Wave One of the DSC Resource Kit.
Two months after that (February), we totaled fourteen additional resources with Wave Two of the DSC Resource Kit.
Can you guess what happens now, the month after the release of Wave Two?
We're happy to announce Wave Three of the DSC Resource Kit. This wave contains eighteen new DSC resources. This brings our total count to over 50 DSC Resources -- without even mentioning the community created resources available on the PowerShell.Org's GitHub.
Click here to see all of the resources in the Resource Kit!
What's in this Wave?
The resources available in this wave allow you to get more done. We've drastically improved the support of IIS and SQL Server, adding resources for managing things like Web App Pools, Virtual Directories, Web Applications, and DACPACs. We've added a whole new set of resources to support Remote Desktop Session Host. We've added other new resources, allowing you to manage PowerShell Remoting endpoints, download files from a URI, compress/decompress .zip files, and more.
Now, you might be thinking, "That is an awful lot of resources. Am I going to have to download them all individually?" Not to worry -- you can download all of the latest DSC resources from this page. If you want to take a more à la carte approach, you can still search for “DSC Resource Kit” on TechNet Script Center.
In addition to the new resources, we have also made some updates to existing resources based on feedback we have received.
Questions, Comments?
If you're looking into using PowerShell DSC, but are blocked by a lack of resources, let us know in the comments or the TechNet QA Section.
As always, we must reiterate that these resources come without any guarantees. The “x” prefix stands for experimental – which means these resources are provided AS IS and are not supported through any Microsoft support program or service. We will monitor the TechNet pages, take feedback, and may provide fixes moving forward. Also, don’t forget to check out the community versions of many resources on PowerShell.Org's GitHub.
Details
After installing the modules, you can discover all of the resources available by using the Get-DSCResource cmdlet. Here is a brief description of each resource (for more details on a resource, check out the TechNet pages).
Module | Resource | Description |
xWebAppPool | Create, remove, start, stop an IIS Application Pool | |
xWebVirtualDirectory | Create or remove a virtual directory | |
xWebApplication | Create or remove a web application | |
xWebConfigKeyValue | Configure AppSettings section of Web.Config | |
xDatabase | Create, drop & deploy databases | |
xDBPackage | Backup & restore databases | |
xUAC | Enable or disable User Account Control prompt | |
xIEEsc | Enable or disable IE Enhanced Security Configuration | |
xRDSessionDeployment | Creates and configures a deployment in RDSH. | |
xRDSessionCollection | Creates a RDSH collection. | |
xRDSessionCollectionConfiguration | Configures a RDSH collection. | |
xRDRemoteApp | Publish applications for your RDSH collection | |
xWindowsProcess | Adds ability to run as a specific user to the existing WindowsProcess resource | |
xService | Update to existing Service resource to include create/configure service | |
xRemoteFile | Download files from a URI | |
xPackage | Adds ability to run as a specific user to the existing resource, includes VS Setup | |
xArchive | Create, update, extract a Zip file | |
xEndpoint | Creates a remoting endpoint | |
Updates | xDscResourceDesigner, xComputer, xVMHyperV, xDNSServerAddress | Feature additions and bug fixes |
The specific changes to existing resources will be noted on the individual TechNet pages.
Renaming Guidelines
When making changes to these resources, we urge the following practice:
1. Update the following names by replacing MSFT with your company/community name and replacing the “x” with "c" (short for "Community") or another prefix of your choice:
a. Module name (ex: xWebAdministration becomes cWebAdministration)
b. Folder name (ex: MSFT_xWebsite becomes Contoso_cWebsite)
c. Resource Name (ex: MSFT_xWebsite becomes Contoso_cWebsite)
d. Resource Friendly Name (ex: xWebsite becomes cWebsite)
e. MOF class name (ex: MSFT_xWebsite becomes Contoso_cWebsite)
f. Filename for the <resource>.schema.mof (ex: MSFT_xWebsite.schema.mof becomes Contoso_cWebsite.schema.mof)
2. Update module and metadata information in the module manifest
3. Update any configuration that use these resources
We reserve resource and module names without prefixes ("x" or "c") for future use (e.g. "MSFT_WebAdministration" or "Website"). If the next version of Windows Server ships with a "Website" resource, we don't want to break any configurations that use any community modifications. Please keep a prefix such as "c" on all community modifications.
As specified in the license, you may copy or modify this resource as long as they are used on the Windows Platform.
Requirements
The DSC Resource Kit requires Windows 8.1 or Windows Server 2012 R2 with update KB2883200 (aka the GA Update Rollup). You can check whether it is installed by running the following command:
PS C:\WINDOWS\system32> Get-HotFix -Id KB2883200
Source Description HotFixID InstalledBy InstalledOn
------ ----------- -------- ----------- -----------
NANA-TOUCH Update KB2883200 NANA-TOUCH\Admini... 9/30/2013 12:00:00 AM
On supported down level operating systems, they require WMF 4.0. Refer to these previous blog posts for more information on WMF 4.0 and issues with partial installation.