Live Chat
Monday - Friday 8am - 6pm EST Chat Now
Contact Us
Monday - Friday 8am - 8pm EST 1-800-268-7737 Other Contact Options

Cart () Loading...

    • Quantity:
    • Delivery:
    • Dates:
    • Location:


Windows PowerShell Scripting and Toolmaking

Build the tools that will allow you to better administer your Windows server and client products.

GK# 6544 Vendor# M55039

Course Overview


In this course, you will learn to build reusable tools by using Windows PowerShell 5.0/5.1. This course focuses on the Windows PowerShell scripting language and on the concepts and techniques needed to design tools, including and output requirements and functional requirements. You will learn functions to deal with anticipated errors using standard PowerShell patterns and practices. By course completion, you will be armed with the knowledge and skills to better administer a wide variety of server and client products and technologies that offer Windows PowerShell integration, including Microsoft Exchange Server, Microsoft Windows Active Directory Domain Services, Microsoft SharePoint Server, and more.

I just completed the Global Knowledge course on Windows PowerShell Scripting and Toolmaking. Fantastic course, entirely met all of my expectations for what I would get. I feel like I have the necessary to build my own tools for my team in PowerShell now, I just need to exercise what I’ve learned.

The GK instructor was excellent, really knew what he was doing. He was a good speaker—kept things entertaining but focused. He knew the material at such a depth that if people got hung up, he was always able to help them understand the material by explaining it in different ways, showing different methods of attaining the same result, and all ways of demonstrating mastery of the material.

GK uses Zoom now for their remote learning platform, and that was stable and clear the entire time. I never lost connection to the course during the entire 5 days, it never crashed or garbled the instructor’s words—really great choice for this. The Labs were a little inconsistent early on in day 1, but once we got on they remained available and were configured in such a way that the course materials worked in that environment exactly as expected every time.

All around excellent experience. I would highly recommend the course to anyone looking to take a deep dive into building tools with PowerShell.

Jonathan Bonde

Check out additional reviews of Global Knowledge on REVIEWS.IO


Learn more about this topic. View the recorded webinar Taking Advantage of Microsoft PowerShell



  • Delivery Format:
  • Date:
  • Location:
  • Limited Time Offer: This course is 25% off! Use promo code 25GTR at checkout.
  • Access Period:


Class is Full
This session is full. Please select a different session.

What You'll Learn

  • Write tools, including scripting, parameterizing commands, and providing verbose output
  • Debug tools and provide error handling within tools
  • Combine tools into script and manifest modules
  • Create custom formatting views
  • Create tools that are consistent in naming and operation with native Windows PowerShell tools


Viewing outline for:

Virtual Classroom Live Outline

1. Preparing for Scripting

  • Securing the Scripting Environment
  • Understanding Variables and Operators
  • Understanding Scripting Constructs and Scope

2. Parameterizing a Command

  • Designing Parameters
  • Implementing Parameters

3. Creating a Script Module

  • Designing Script Modules
  • Implementing Script Modules

4. Handling Errors

  • Designing Error Handling
  • Implementing Error Handling

5. Writing Commands that Use Pipeline Input and Output

  • Understanding Pipeline Parameter Binding
  • Implementing Pipeline Parameter Input
  • Implementing Pipeline Parameter Input

6. Creating Hierarchical Command Output

  • Designing Complex Command Output
  • Implementing Complex Command Output
  • Using Object Hierarchies

7. Debugging Scripts

  • Designing Scripts for Debugging
  • Implementing Script Debugging

8. Customizing Default Formatting

  • Designing Formatting
  • Implementing Custom Formatting

9. Adding Advanced Parameter Attributes and Command Documentation

  • Implementing Advanced Parameter Attributes
  • Implementing Help Documentation

10. Creating Controller Scripts

  • Designing Script Execution
  • Implementing a Controller Script

11. Creating HTML-Based Reports

  • Creating Basic HTML Reports
  • Creating Enhanced HTML Reports

12. Creating Basic Workflows

  • Understanding Workflows
  • Implementing Workflows

13. Working with XML Data

  • Understanding XML
  • Implementing XML Manipulation

14. Using Advanced Scripting Techniques

  • Using External Functionality
  • Adding Graphical User Interface Elements

15. Creating Proxy Functions

  • Designing Proxy Functions
  • Implementing Proxy Functions

16. Building Tools in Windows PowerShell

  • Designing the Tool
  • Implementing the Tool
  • Testing the Tool


Viewing labs for:

Virtual Classroom Live Labs

Lab 1: Parameterizing a Command

  • Identify changeable values
  • Declare parameters
  • Use parameters in place of changeable values
  • Test the script

Lab 2: Creating a Script Module

  • Creating a Script Module
  • Saving the script module
  • Adding a module-level variable
  • Controlling module member visibility
  • Testing the script module

Lab 3: Handling Errors

  • Using the Try…Catch Construct
  • Handling Command Errors
  • Handling Non-Command Errors
  • Logging Errors to a File
  • Displaying Warning Messages

Lab 4: Writing Commands that Use Pipeline Input and Output

  • Adding Pipeline Input Capability to Parameters
  • Working with Pipeline Input
  • Creating Custom Output Objects
  • Outputting Objects to the Pipeline

Lab 5: Creating Hierarchical Command Output

  • Retrieving and Enumerating Data
  • Creating Child Objects
  • Creating the Parent Object
  • Displaying and Object Hierarchy
  • Persisting an Object Hierarchy

Lab 6: Debugging Scripts

  • Using Write-Debug
  • Using PSBreakpoints

Lab 7 : Customizing Default Formatting

  • Adding a Custom Type Name to an Object
  • Creating a DefaultDisplayPropertySet Type Extension
  • Creating a Custom View
  • Adding Type Extensions and Views to Modules and Creating a Module Manifest

Lab 8: Adding Advanced Parameter Attributes and Command Documentation

  • Defining Aliases and Help Messages
  • Defining Parameter Validation
  • Adding Comment-Based Help
  • Writing a Command that Uses –Confirm and -WhatIf

Lab 9: Creating Controller Scripts

  • Creating a Controller Script
  • Parameterizing a Controller Script
  • Testing a Controller Script
  • Debugging a Controller Script

Lab 10: Creating Reports by using HTML

  • Creating Reports by using HTML
  • Converting Objects into HTML Fragments
  • Combining HTML Fragments
  • Adding Basic Formatting
  • Creating Enhanced HTML Fragments
  • Applying Conditional Formatting

Lab 11: Creating Basic Workflows

  • Importing the PSWorkflow Module
  • Converting a Function to a Basic Workflow
  • Parallelizing Commands

Lab 12: Working with XML Data

  • Loading XML
  • Manipulating XML as an Object Hierarchy
  • Selecting XML Elements by using XPath
  • Modifying XML
  • Saving XML

Lab 13 : Creating Proxy Functions

  • Generating a Proxy Function Template
  • Modifying the Template
  • Using the Proxy Function
  • Bypassing a Proxy Function

Lab 14: Building Tools in Windows PowerShell

  • Designing the Tool
  • Implementing the Tool
  • Testing the Tool


  • 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

Who Should Attend

  • Administrators that have little or no programming experience but who have a working knowledge of Windows PowerShell and who are able to use Windows PowerShell to run complex, interactive commands. Students of this course may administer a wide variety of server and client products and technologies that offer Windows PowerShell integration, including Microsoft Exchange Server, Microsoft Windows Active Directory Domain Services, Microsoft SharePoint Server, and more.

Vendor Credits


SATV Redemption

Redeeming your Microsoft Software Assurance Training Vouchers:

  • 5 Day SATV for a Virtual Classroom Live session
  • 5 Day SATV for a Classroom Live session
Training Exclusives

This course comes with 12 months access to the following benefits:

  • Practice Labs
  • Indexed Class Recordings
  • Unlimited Course Retakes
  • Digital courseware
Find out more
Course Delivery

This course is available in the following formats:

Virtual Classroom Live

Experience live, expert-led online training from the convenience of your home, office or anywhere with an internet connection.

Duration: 5 day

Request this course in a different delivery format.