Courses Details
Course Overview
This is a three-day course that will teach students how to automate administrative tasks using Windows PowerShell 5.1. Students will learn core scripting skills such as creating advanced functions, writing controller scripts, and handling script errors. Students will learn how to works with Windows PowerShell Workflow, the REST API and XML and JSON formatted data files, Students will also learn how to use new administration tools such Desired State Configuration (DSC) and Just Enough Administration (JEA) to configure and secure servers.
Course Schedule
Target Audience

This course is intended for IT professionals who are experienced in general Windows Server and Windows Client administration. Students should have a foundational knowledge of Windows PowerShell, which they can obtain by taking course 10961C: Automating Administration with Windows PowerShell. 

In addition, this course provides scripting guidance for developers who support development environments and deployment processes.

Course Prerequisites

In addition to their professional experience, students who attend this training should already have the following technical knowledge:

  • Experience with Windows networking technologies and implementation.
  • Experience with Windows Server administration, maintenance, and troubleshooting.
  • Experience with Windows Client administration, maintenance, and troubleshooting.
  • Experience with using Windows PowerShell to run commands and to create basic non-modularized scripts.


Students who attend this training can meet the prerequisites by obtaining equivalent knowledge and skills through practical experience as a Windows System Administrator. Course 10961: Automating Administration with Windows PowerShell is strongly recommended to obtain prerequisite skills in Windows PowerShell.

Expected Accomplishments

After completing this course, students willbe able to:

  • Create advanced functions.
  • Use Microsoft .NET Framework and REST API in Windows PowerShell.
  • Write controller scripts.
  • Handle script errors.
  • Use XML, JSON, and custom formatted data.
  • Enhance server management with Desired State Configuration and Just Enough Administration.
  • Analyze and debug scripts
  • Understand Windows PowerShell workflow.
Course Outline
Module 1: Creating advanced functionsThis module explains how to parameterize a command into an advanced function.Lessons
  • Converting a command into an advanced function
  • Creating a script module
  • Defining parameter attributes and input validation
  • Writing functions that accept pipeline input
  • Producing complex pipeline output
  • Documenting functions by using comment-based help
  • Supporting –WhatIf and -Confirm
Lab : Converting a command into an advanced function
  • Converting a command into an advanced function
Lab : Creating a script module
  • Creating a script module
Lab : Defining parameter attributes and input validation
  • Defining parameter attributes and input validation
Lab : Writing functions that accept pipeline input
  • Writing functions that accept pipeline input
Lab : Producing complex pipeline output
  • Producing complex pipeline output
Lab : Documenting functions by using comment-based help
  • Documenting functions by using comment-based help
Lab : Supporting –WhatIf and -Confirm
  • Supporting –WhatIf and -Confirm

After completing this module, students willbe able to:

  • Convert a command into an advanced function.
  • Create a script module.
  • Define parameter attributes and input validation.
  • Write functions that accept pipeline input.
  • Produce complex pipeline output.
  • Document functions by using comment-based help.
  • Support -WhatIf and -Confirm.



Module 2: Using Microsoft .NET Framework and REST API in Windows PowerShellThis module explains how to use Microsoft .NET Framework and REST API to supplement functionality that Windows PowerShell commands provide.Lessons
  • Using Microsoft .NET Framework in Windows PowerShell
  • Using REST API in Windows PowerShell
Lab : Using Microsoft .NET Framework in Windows PowerShell
  • Using Microsoft .NET Framework in Windows PowerShell
Lab : Using REST API in Windows PowerShell
  • Using REST API in Windows PowerShell

After completing this module, students will be ableto:

  • Use Microsoft .NET Framework in Windows PowerShell.
  • Use REST API in Windows PowerShell.


Module 3: Writing controller scriptsThis module explains how to combine advanced functions that perform a specific task and a controller script that provides a user interface or automates a business process.Lessons
  • Introducing controller scripts
  • Writing controller scripts that display a user interface
  • Writing controller scripts that produce reports
Lab : Writing controller scripts
  • Writing controller scripts that display a user interface
  • Writing controller scripts that implement a text-based menu
Lab : Writing controller scripts that produce HTML reports
  • Writing functions to be used in the controller script
  • Writing a controller script that produces HTML reports

After completing this module, students will be ableto:

  • Describe controller scripts.
  • Write controller scripts that display a user interface.
  • Write controller scripts that produce reports.
Module 4: Handling script errorsThis module explains how to perform basic error handling in scripts.Lessons
  • Understanding error handling
  • Handling errors and timeouts in a script
Lab : Handling errors in a script
  • Handling errors in a script

After completing this module, students will be ableto:

  • Describe error handling.
  • Handle errors and timeouts in a script.


Module 5: Using XML, JSON, and custom-formatted dataThis module explains how to read, manipulate, and write data in XML and JSON format.Lessons
  • Reading, manipulating, and writing XML-formatted data
  • Reading, manipulating, and writing JSON-formatted data
  • Reading and manipulating custom-formatted data
Lab : Reading, manipulating, and writing XML-formatted data
  • Testing the provided tools
  • Updating an XML inventory document

After completing this module, students will be able to:

  • Read, manipulate, and write XML-formatted data.
  • Read, manipulate, and write JSON-formatted data.
  • Read and manipulate custom-formatted data.


Module 6: Enhancing server management with Desired State Configuration and Just Enough AdministrationThis module explains how to write Desired State Configuration (DSC) configuration files, deploy those files to servers, and monitor servers’ configurations. This module also explains how to restrict administrative access with Just Enough Administration (JEA).Lessons
  • Understanding Desired State Configuration
  • Creating and deploying a DSC configuration
  • Implementing Just Enough Administration
Lab : Creating and deploying a DSC configuration
  • Creating and deploying a DSC configuration
Lab : Configuring and using JEA
  • Configuring and using JEA

After completing this module, students will be ableto:

  • Understand DSC.
  • Create and deploy a DSC configuration.
  • Implement JEA.
Module 7: Analyzing and debugging scriptsThis module explains how to use native Windows PowerShell features to analyze and debug existing scripts.Lessons
  • Debugging in Windows PowerShell
  • Analyzing and debugging an existing script
Lab : Analyzing and debugging an existing script
  • Analyzing and debugging an existing script

After completing this module, students willbe able to:

  • Debug in Windows PowerShell.
  • Analyze and debug an existing script.


Module 8: Understanding Windows PowerShell WorkflowThis module explains the features of the Windows PowerShell Workflow technology.Lessons
  • Understanding Windows PowerShell Workflow
Lab : Creating and running a Windows PowerShell Workflow
  • Creating and running a Windows PowerShell Workflow
After completing this module, students will be able to describe and implement the Workflow feature of Windows PowerShell.