home > training > DEVOPS300 DevOps Management Fundamentals using Desired State Configuration (DSC)

DEVOPS300 DevOps Management Fundamentals using Desired State Configuration (DSC)

$3,495 Interface Gold™

  • 5 Days
  • Promotional and package discounts may apply
  • Replay recordings not included due to content licensing
Interested in scheduling a date for this course?
Request A Date
Register today - no risk!  No cancellation fees.  Full money back guarantee!
  • This field is for validation purposes and should be left unchanged.

Course Description

This 5 day instructor-guided course is intended to introduce and teach DevOps fundamentals of with an emphasis on Desired State Configuration (DSC). DevOps principals are implemented through technologies and tools. In this course you will learn about Desired State Configuration and PowerShell.

The goal of the course is it to introduce students to DevOps concepts and specifically how DSC can play a critical role with configuration management. While DSC is a technology that leverages PowerShell, you don’t have to have extensive PowerShell knowledge in order to use it. The course will teach you the necessary PowerShell skills in order to be immediately effective with DSC.

About Your Teacher
Jason Helmick is a 25-year IT veteran and author at Pluralsight. He’s an avid supporter of the PowerShell community as board member and CFO/COO of PowerShell.Org and a Windows PowerShell MVP. He is the author of Windows PowerShell:TFM and Learn Windows IIS in a Month of Lunches along with contributing author to PowerShell Deep Dives. Jason focuses on automation and configuration management for DevOps and has co-authored several PowerShell, MS Exchange and IIS related discussions on the Microsoft Virtual Academy.


Day 1

1. Introduction and Welcome

  • Meet the Instructor(s)
  • Goals for the course
  • What you can expect
  • Classroom Setup
  • Housekeeping


2. What is the DevOps Paradigm? 

Continuous deployment

  • Source
  • Build
  • Test
  • Release

DevOps Scenarios

DevOps Technologies and Tools

  • Chef
  • Puppet
  • Ansible
  • PowerShell
  • Desired State Configuration

Why DevOps matters


3. Creating Your First Configuration

  • The structure of a Configuration
  • Adding a Resource
  • Running the configuration
  • Pushing a MOF
  • Lab


Day 2

1. Desired State Configuration Concepts

  • Architecture
  • Configurations
  • MOF files
  • Resources
  • Nodes
  • Local Configuration Manager


2. Understanding DSC Resources

  • Resources perform the work
  • Built-in resources
  • Viewing resource requirements and syntax
  • Using PSGallery for additional resources
  • Viewing documentation for resources
  • Diving into a resource


3. Creating a Configuration

  • Configuration syntax
  • Writing a simple configuration without parameters
  • Writing a better configuration with parameters
  • Generating MOF files
  • Controlling resources with DependsOn


4. Preparing the Managed Node

  • Viewing the Local Configuration Manager (LCM) settings
  • Writing a configuration for the LCM
  • Deploying the LCM configuration


5. Deploying Resources

  • Copying to the server
  • Using a Repository file share


6. Basic configuration lab


Day 3


1. Pushing Configurations

  • How to push and run configurations
  • The configuration files
  • Testing Configurations
  • Configuration Reporting


2. Restoring Configurations

  • How to use Restore-DscConfiguration
  • How to use Remove-DscConfigurationDocument


3. Modifying Configurations

  • Adding to a configuration
  • Removing components form a configuration


4. Advanced Configurations: Configuration Data

  • Why to separate data from the configuration
  • Configuration data within a single file
  • Separating configuration data files from the configuration
  • Removing parameters using configuration data
  • Adding multiple roles with configuration data


5. Advanced Configurations: Credentials

  • Why you will need secured credentials
  • Certificate requirements for secured credentials
  • Method 1 – Installing certificates on the Target Node
  • Method 2 – Installing certificates on the Authoring Node


6. Advanced labs


Day 4

1. Writing custom resources: Advanced Functions

  • Writing Advanced Functions
  • Adding Help
  • Writing Advanced Functions that make changes
  • Error handling
  • Lab


2. Introduction to PowerShell modules

  • Module structure
  • Using manifests
  • Exporting commands
  • Lab


3. Test-Based Development

  • Introduction to Pester
  • Concepts and Terminology
  • Testing Functions
  • Testing Modules
  • Automated testing and reporting


4. Meet the PowerShell Script Analyzer

  • Scripting Best Practices
  • Reviewing your code


5. Writing custom resources: Standard model

  • The structure of a custom resource
  • Using the Resource Designer
  • Functions that Get, Set and Test
  • Using Invoke-DSCResource
  • Using your first custom resource


6. Custom Resource Lab


Day 5

1. Troubleshooting DSC

2. DSC Tips and Tricks

3. DSC Next Steps

  • Using a Pull server
  • Partial configurations
  • Named configurations
  • Azure Automation


4. Getting started with Chef/Puppet, etc.

  • The business case for integration
  • Integrating with DSC


5. Implementing DevOps

6. Practice Lab


This is supplemental material to be used as needed to fill in any gaps in the students’ knowledge.

PowerShell Fundamentals

  • Using PowerShell help
  • Cmdlets, Functions and Modules
  • Aliases
  • The pipeline
  • Variables
  • Arrays
  • Hashtables
  • Providers and PSDrives
  • PowerShell Remoting
  • CIM and WMI
  • Where and Foreach methods
  • PowerShell Get
  • Meet the PowerShell ISE
  • Scripting Concepts
  • Writing simple scripts and functions


This course is intended for IT Professionals with at least 3-5 years of Windows server administration. While some PowerShell experience is helpful, it is not required. You should have experience installing and configuring a Windows Server, basic networking knowledge and general understanding of IT Operations.


It is recommended by not required that students have successfully completed the following course or have equivalent experience:

10961: Automating Administration with Windows PowerShell

What You Will Learn

By the end of the course you should have working knowledge of:

  • DevOps Principals and Concepts
  • Core PowerShell Language and Syntax
  • How to create simple PowerShell scripts and functions
  • DSC Concepts and Architecture
  • How to write a DSC configuration
  • How to push a configuration to a server
  • How to Troubleshoot DSC

The class is designed to be very hands-on with minimal PowerPoint presentations. The emphasis will be on using PowerShell 5.1 in a corporate environment as part of a DevOps practice. Come prepared to be engaged and challenged!