Another Holiday Present From the PowerShell Team – DSC Reskit Wave 9

Here’s a holiday gift from the PowerShell team – the DSC Resource Kit wave 9. You can find it right here.

This wave has something for everyone, we hope. There are 34 new DSC resources across 13 modules! We have also incorporated your feedback, and made fixes to several existing resources that address issues you have encountered.

Last year we delivered the first DSC Resource Kit as a holiday gift, with 11 DSC resources. In case you are counting, we now have 172 DSC resources, enabling use of DSC for deploying and configuring Active Directory, Azure VMs, Certificate Services, SQL Server, DNS, file shares, Failover clusters, Internet Explorer, Exchange, web applications, Hyper-V, networking, Just Enough Administration, DNS, Remote Desktop Services, the System Center products (SCDPM, SCOM, SCSMA, SCSPF, SCSR, SCVMM), and more. In all, this is a great start in a single year, with more to come in 2015!

Questions, Comments?

If you’re looking into using PowerShell DSC, but are blocked by issues with current resources, or a lack of resources, let us know in the comments or the TechNet QA Section.

What’s in this Wave?

This wave has added almost too many updates to list, but we’ll try. Here’s the list of modules with new resources:

Name

New,  or Updated

What was added?

xAzure

Updated

Added a new resource, xAzureVMDscExtension, which   provides the ability to use the DSC Extension for Azure VM’s to apply configurations to new or existing VM’s.

Also addressed issues reported in xAzureStorageAccount

xAzurePack

New

xAzurePack adds 8 new resources used for installation and configuration of Windows Azure Pack. The resources are xAzurePackSetup, xAzurePackUpdate, AzurePackAdmin, xAzurePackFQDN, xAzurePackDatabaseSetting, xAzurePackIdentityProvider, xAzurePackRelyingParty, xAzurePackResourceProvider

xExchange

Updated

Added 5 new resources: xExchInstall, xExchJetstress, xExchJetstressCleanup, xExchUMCallRouterSettings, xExchWaitForADPrep.  Additional improvements were made in xExchActiveSyncVirtualDirectory,   xExchAutoMountPoint, xExchExchangeCertificate, xExchMailboxDatabase, ExchOutlookAnywhere, xExchUMService, and the related samples.

xInternetExplorer

New

Allows DSC to configure IE home page(s)

xPsExecutionPolicy

New

Enables configuring the PS Execution Policy via DSC

xScom

Updated

Adds new 5 resources: xSCOMManagementServerUpdate, SCOMWebConsoleServerUpdate, and xSCOMConsoleUpdate for updating OM to Update Rollup 4, plus xSCOMAdmin for adding OM admins, and   xSCOMManagementPack for installing OM Management Packs.

xSCSPF

Updated

Adds xSCSPFServerUpdate for updating and SPF server to Update Rollup 4.

xScSr

Updated

Adds the xSCSRServerUpdate resource for updating an SR server to Update Rollup 4

xScVMM

Updated

Adds 3 new resources: xSCVMManagementServerUpdate, and xSCVMMConsoleUpdate for updating to Update Rollup 4, and xSCVMMAdmin for adding VMM admins

xSqlServer

Updated

Adds 5 new DSC resources for SQL failover clusters, and reporting services config. Also fixes an issue with SQL setup when using SQL mixed mode security.

xTimeZone

New

Set the Time Zone using DSC with this resource

xWindowsRestore

new

Two new resources allow you to use DSC to configure system restore, create or remove a restore point

In addition, we have
addressed some of the issues reported for

  • xActiveDirectory: Addressed return type issues reported in xADDomain and xADDomainCOntroller.
  • xDscResourceDesigner updated to remove false errors when Set-TargetResource declares SupportsShouldProcess. Also fixed the internal type generated when using HashTable[]. 
  • xPendingReboot: improved the detection for when reboot was required in certain corner cases.
  • xPSDesiredStateConfiguration: Fixed the output types in xPsDSC; xWebSite; xPackage, xArchive, xGroup, xProcess, xService. Improved error handling in xRemoteFile. Resolved issue in Test-TargetResource for Ensure=False with xWindowsOptionalFeature. Resolved issue in xDscWebService when returning the OData Endpoint URL.
  • xWebAdministration: fixed the variable name in xIisModule.

For more details on the changes, and new resources, see the TechNet Script Center pages for the individual modules.

We will be making more changes to address issues reported in published resources as and when we have time available. These changes will be made available when they are ready, rather than waiting for a resource kit to publish them. If there is an issue you are particularly concerned about, watch the version number in the PowerShell Gallery, or check the version information on the module page occasionally.

Some of you will notice that most of the other modules in the Resource Kit (those not listed above) were updated, and the version information just says “Metadata change only.” As part of our ongoing work to improve the PowerShell Gallery, we are adding new information to previously existing modules. There should be no impact to you from this change.

As with the previous resource its, all the resources in the Resource Kit are experimental. The “x” prefix in the names 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

All of these resources are available via the TechNet Script Center right here. Instructions for installation are with the various modules.

In addition, these resources are available via the PowerShell Gallery. If you have installed the  Windows Management Framework 5.0 November Preview, you can see what is available quickly by using the command: Find-DscResource.

After installing the modules, you can discover all of the resources available by using the Get-DscResource cmdlet. 

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

Note: The DSC Resource Kit requires at least 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   

——       ———–     ——–     ———–         ———-

MyMachine    Update         KB2883200    MyMachine\Admini… 9/30/2013 12:00:00AM 

 

For most modules, you can use them on supported down-level versions of Windows by installing WMF 4.0. Refer to these previous blog posts for more information on WMF 4.0 and issues with partial installation. A few modules will require the use of WMF 5.0, and all modules should work with WMF 5.0. You can confirm the requirements for each module on the individual blog topics that provide the details for the module.