March 28th, 2014

DSC Resource Kit Wave 3

PowerShell Team
PowerShell Team

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 

xWebAdministration

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

xDatabase 

Create, drop & deploy databases 

xDBPackage 

Backup & restore databases 

xSystemSecurity

xUAC 

Enable or disable User Account Control prompt 

xIEEsc 

Enable or disable IE Enhanced Security Configuration 

xRemoteDesktopSessionHost

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 

xPSDesiredStateConfiguration

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.

 

Author

PowerShell Team
PowerShell Team

PowerShell is a task-based command-line shell and scripting language built on .NET. PowerShell helps system administrators and power-users rapidly automate tasks that manage operating systems (Linux, macOS, and Windows) and processes.

0 comments

Discussion are closed.