Desired State Configuration Blog Series – Part 1, Information about DSC

Over the next couple of months I plan to author a regular contribution to Building Clouds Blog focused on PowerShell Desired State Configuration (DSC).  This is an important tool for the Microsoft platform and I believe a crucial concept for anyone working in a DevOps culture.  I have a long list of topics to cover-off including lessons I have learned, practices I have found to be repeatable, and my thoughts on how DSC can be integrated with other tools to build “better together” scenarios.

Recently I authored a number of DSC resources to bring myself up to speed.  This was an educational process that involved hours of reading and going over content across many sources.  For Part 1 I would like to give you an advantage by helping to organize some of the content I found valuable in to easily digestible groups.  The table below serves as a “curated list” of links that would be valuable to anyone looking for a starting reference.  The problem with anything like this is it will be outdated almost as soon as I publish, so take it under advisement that this is a good point to “ramp” as of April, 2014 and never underestimate the power of Bing to discover new content!

Web sites I used as a training ramp:


TechEd 2013 Session – Desired State Configuration in Windows Server 2012 R2 PowerShell

Description I attended this session live and knew right away that DSC is something I would be focusing on in the future.  The session is available on Channel 9 and is a great way to get up to speed on DSC concepts in an hour and twenty minutes.  I especially recommend this for “visual learners” who would need to be inspired before they find motivation to do a lot of reading (I’m looking in the mirror when I describe this behavior).



TechNet Documentation – Windows PowerShell Desired State Configuration

Description If official product documentation is more your style, TechNet is the source.  If you are new to DSC I definitely recommend reading over this content, and then leveraging the PowerShell team blog to explore more advanced concepts.



The PowerShell Team Blog

Description One of the challenges with reading blogs as a method of training is that the content is arranged in chronological order by publish date.  I am making an attempt to arrange the content by topic and level of advancement.Introduction and General Knowledge Building:Configuration in a DevOps world - Windows PowerShell Desired State ConfigurationUnderstanding CONFIGURATION keyword in Desired State ConfigurationHow to Deploy and Discover Windows PowerShell Desired State Configuration ResourcesUnderstanding Meta Configuration in Windows PowerShell Desired State Configuration

Authoring Resources:Hungry for more Windows PowerShell Desired State Configuration Resources?Resource Designer Tool – A walkthrough writing a DSC resourceWant to secure credentials in Windows PowerShell Desired State Configuration?

DSC Push/Pull Server Concepts:PowerShell DSC Resource for configuring Pull Server environmentPush and Pull Configuration Modes

More Advanced Concepts:Configuring a SQL High Availability Group with DSCReusing Existing Configuration Scripts in PowerShell Desired State ConfigurationWant to Automatically Configure Your Machines Using DSC at Initial Boot-up?Configuring an Azure VM using PowerShell DSC

DSC Resource Kit Content (published resources):Holiday Gift – Desired State Configuration (DSC) Resource Kit Wave-1Need more DSC Resources? Announcing DSC Resource Kit Wave 2DSC Resource Kit Wave 3

Diagnostics/Troubleshooting:Using Event Logs to Diagnose Errors in Desired State ConfigurationDSC Diagnostics Module– Analyze DSC Logs instantly now!Debug Mode in Desired State Configuration (WMF 5.0 CTP)



Hey, Scripting Guy! Blog

Description Hey, Scripting Guy! is a blog dedicated to uncovering every detail and complex topic around the PowerShell scripting language.  I look forward to the “Weekend Scripter” posts as that is my Sunday paper.  Recently there was a series published on digging in to the details of writing DSC scripts.Weekend Scripter: Intro to PowerShell 4.0 Desired State ConfigurationWeekend Scripter: Troubleshoot with PowerShell DSC Diagnostics ModulePowerTip: Find PowerShell 4.0 DSC CmdletsPowerTip: Use DSC to Remediate a ServerPowerTip: Use PowerShell to Display DSC ResourcesUsing PowerShell 4.0 DSC ParametersUsing PowerShell 4.0 DSC to Control Configuration DriftUse Configuration File to Apply PowerShell DSC to Multiple ServersConfigure SMB Shares with PowerShell DSC




Description is a community resource for PowerShell and a number of great articles have been published on the topic of DSC.  The “PowerScripting Podcast” includes episodes specific to DSC.  On the “DSC Hub” you will find reference to a DSC eBook and most notably a link to a community GitHub repository for additional DSC resources.Posts tagged with ‘DSC’: Hub: Community Repo:



PowerShell Magazine

Description PowerShell Magazine is a community resource with a LOT of information about PowerShell in general.  There are 3-4 articles per month specifically on DSC topics so this is another resource worth keeping an eye on.Articles tagged with ‘DSC’:




Description is a great place to find articles written by community members about the scripts they have written, with full snippets.  Great resources to find something “along the lines of what you want to do” and look at home someone else decided to solve the problem.Articles tagged with ‘DSC’:



Independent Community Articles

Description I’m not being snarky in posting a link to Bing.  Searching the web for the most up to date content is a great way to get over a hurdle when you are stuck or just not confident you are taking the right approach.  Here are just a few articles that share depth on DSC.Building Clouds Blog! – Introducing PowerShell Desired State Configuration (DSC) – Killer Feature in PSv4: Desired State Configuration$hell Your Experience !!! – PowerShell V4 Desired State Configuration – My Precio… ops… Desired !!!!!



Windows Management Framework 4.0

Windows Management Framework 5.0 Preview

Description DSC was released as a built-in component of Windows Server 2012 R2, but it is backwards compatible with previous versions of Windows if you install Windows Management Framework 4.0.  In addition, WMF 5.0 is now in preview and includes updates specifically around DSC.  You don’t have to use 5.0 but if you would like to test the new features you can download the preview.



This DSC blog series!

Description I’m hoping this content will be of value to you.  I will reserve this space for a table of contents as I get additional write-ups published.