hands-on lab

Using PowerShell DSC on Windows

Up to 1h 20m
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.


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

Logan Rakai, opens in a new tab
Lead Content Developer - Labs
Learning paths

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.

LinkedIn, Twitter, GitHub

Covered topics

Lab steps

Logging in to the Microsoft Azure Portal
Connecting to the Azure Virtual Machine (RDP)
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