Course 55039-B: Windows PowerShell Scripting and Toolmaking

This three- to five-day instructor-led is intended for IT professionals who are interested in furthering their skills in Windows PowerShell and administrative automation. The course assumes a basic working knowledge of PowerShell as an interactive command-line shell, and teaches students the correct patterns and practices for building reusable, tightly scoped units of automation.

Audience profile

This course is intended for administrators in a Microsoft-centric environment who want to build reusable units of automation, automate business processes, and enable less-technical colleagues to accomplish administrative tasks.

Job role: Developer

Skills gained

  • Describe the correct patterns for building modularized tools in Windows PowerShell
  • Build highly modularized functions that comply with native PowerShell patterns
  • Build controller scripts that expose user interfaces and automate business processes


Before attending this course, students must have:

  • Experience at basic Windows administration
  • Experience using Windows PowerShell to query and modify system information
  • Experience using Windows PowerShell to discover commands and their usage
  • Experience using WMI and/or CIM to query system information

Course outline

Module 1: Tool Design

This module explains how to design tools and units of automation that comply with native PowerShell usage patterns.


  • Tools do one thing
  • Tools are flexible
  • Tools look native

Lab : Designing a Tool

  • Design a tool

After completing this module, students will be able to:

  • Describe the native shell patterns that a good tool design should exhibit

Module 2: Start with a Command

This module explains how to start the scripting process by beginning in the interactive shell console.


  • Why start with a command?
  • Discovery and experimentation

Lab : Designing a Tool

  • S...