Using Azure Automation State Configuration (DSC)

45 minutes
  • 6 Learning Objectives

About this Hands-on Lab

This lab walks through the process of configuring Azure virtual machines using Azure Automation State Configuration (DSC).

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Import the Configuration
  1. Download ServerConfiguration.ps1 to your computer.
  2. Import ServerConfiguration into the Automation Account.
Import PowerShell Modules

Import the modules listed below into the automation account:

  • ActiveDirectoryDsc
  • DnsServerDsc
  • StorageDsc
Create Shared Resources
  1. Create an automation variable with the name DomainName and a value of
  2. Create an automation credential with the name ServerAdmin, using admin_user as the username and the Lab VM password as the password.
  3. Create another automation credential with the name DSRMPassword, using any username and any password.
  4. Create an automation credential with the name EnterpriseAdmin, using [email protected] as the username and the Lab VM password as the password.
Compile the Configuration

Compile ServerConfiguration.

Onboard the Nodes

Onboard BRADC1 and BRADC2 into Azure Automation State Configuration.

Review Configuration Compliance

Review the configuration compliance.

Additional Resources


As you walk through the lab, consider the following scenario:

You are a senior DevOps engineer at Barrier Reef Audio, a company that focuses on generating text from speech using a range of high-quality audio equipment and machine learning. You are responsible for configuration management at Barrier Reef Audio. A new platform landing zone has been deployed to Azure, and it’s your responsibility to configure the domain controllers in the identity subscription using configuration management.

You decide to use Azure Automation State Configuration, which leverages PowerShell Desired State Configuration (DSC) to configure the domain controllers.

In this lab, you will:

  1. Import the configuration.
  2. Import PowerShell modules.
  3. Create shared resources.
  4. Compile the configuration.
  5. Onboard the nodes.
  6. Review configuration compliance.

Lab Setup

In this hands-on lab, you will be working with the Azure portal. Get started by connecting to the Azure portal using the credentials provided.

If you get stuck, feel free to check out the lab objectives or the solution video. Good luck!

WARNING: Be Prepared for UI Changes

Given the fluid nature of Microsoft's cloud tools, you may experience user interface (UI) changes that were made following the development of this hands-on lab that do not match up with the lab instructions. When any such changes are brought to our attention, we will attempt to update the content accordingly. However, if changes occur, you will have to adapt to the changes and work through them in the hands-on labs as needed.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?