Using PowerShell DSC on Windows

Lab Steps

Logging in to the Microsoft Azure Portal
Connecting to the Virtual Machine (RDP) (2016 Datacenter)
Reviewing PowerShell DSC Concepts
Setting Up a PowerShell DSC Pull Server
Serving Configurations on the DSC Pull Server
Setting Up a DSC Node to Pull Its Configuration

The hands-on lab is part of this learning path

Ready for the real environment experience?

Time Limit1h 20m


Using PowerShell DSC on WindowsPowerShell Desired State Configuration (DSC) allows you to declare the desired state of a node's configuration and PowerShell DSC will make it so. You don't have to specify the steps required to arrive at the desired state. Resources automatically do all the heavy lifting to take the node to the desired state. Using PowerShell DSC on Windows, you will configure two Windows servers:

  1. A PowerShell DSC web pull server hosting configuration files
  2. A PowerShell DSC node that pulls its configuration from the pull server

Lab Objectives

Upon completion of this Lab you will be able to:

  • Understand key PowerShell DSC concepts
  • Configure Windows systems using PowerShell DSC
  • Set up a PowerShell DSC pull server
  • Write PowerShell DSC configurations
  • Set up a pull mode PowerShell DSC node

Lab Prerequisites

You should be familiar with:

  • Microsoft Windows operating system basics
  • PowerShell basics are beneficial, but not required

Lab Environment

Before completing the Lab instructions, the environment will look as follows:


After completing the Lab instructions, the environment should look similar to:


April 29, 2020 - Added a validation check function to validate the work done in the lab.

About the Author
Learning paths49

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.