55039 Windows PowerShell Scripting and Toolmaking

Course 55039

55039 Windows PowerShell Scripting and Toolmaking

To customize this class, call 800-453-5961 or click here to contact us

This five-day instructor-led course is intended for IT Professionals who have a working knowledge of Windows PowerShell 3.0 techniques and technologies, and who want to build reusable tools by using Windows PowerShell 3.0. 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. This course focuses on the Windows PowerShell scripting language, and on the concepts and techniques needed to produce reusable, professional tools.

Who Should Attend

This course is intended for 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.

Course Outline

Module 1: Preparing for Scripting

This module explains how to prepare the environment for scripting, and provides refresher and background information for scripting.


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

Module 2: Parameterizing a Command

This module explains how to start with an existing command and parameterize it to create a reusable tool.


  • Designing Parameters
  • Implementing Parameters

Module 3: Creating a Script Module

This module explains how to turn a basic script into a script module that can be distributed, loaded, and unloaded in Windows PowerShell.


  • Designing Script Modules
  • Implementing Script Modules

Module 4: Handling Errors

This module explains how to trap and handle errors within a script module.


  • Designing Error Handling
  • Implementing Error Handling

Module 5: Writing Commands that Use Pipeline Input and Output

This module explains how to write commands that integrate with the Windows PowerShell pipeline. Students will create commands that produce pipeline output and that accept pipeline input.


Understanding Pipeline Parameter Binding
Implementing Pipeline Parameter Input
Implementing Pipeline Parameter Input
Lab : Writing Commands that Use Pipeline Inout and Output
Adding Pipeline Input Capability to Parameters
Working with Pipeline Input
Creating Custom Output Objects
Outputting Objects to the Pipeline
After completing this module, students will be able to:

Create commands that accept pipeline input.
Create commands that consolidate multiple data sources into Windows PowerShell pipeline output.
Module 6: Creating Hierarchical Command Output
This module explains how to create, and use, object-oriented output that includes object hierarchies.


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

Module 7: Debugging Scripts

This module explains Windows PowerShell techniques used to debug scripts, and provides students with opportunities to practice debugging skills.


  • Designing Scripts for Debugging
  • Implementing Script Debugging

Module 8: Customizing Default Formatting

This module explain how to create a custom formatting view that can be added to a script module.


  • Designing Formatting
  • Implementing Custom Formatting

Module 9: Adding Advanced Parameter Attributes and Command Documentation

This module explains how to declare parameter aliases, help messages, and input validation. It also explains how to implement switch parameters, how to add support for the –WhatIf and –Confirm parameters, and how to add comment-based help to a command.


  • Implementing Advanced Parameter Attribtues
  • Implementing Help Documentation

Module 10: Creating Controller Scripts

This module explains how to create scripts that implement complex business processes by running multiple tools in a specified sequence.


  • Designing Script Execution
  • Implementing a Controller Script

Module 11: Creating HTML-Based Reports

This module explains how to write controller scripts that produce HTML-based management reports.


  • Creating Basic HTML Reports
  • Creating Enhanced HTML Reports

Module 12: Creating Basic Workflows

This modules explains the key differences between Windows PowerShell functions and workflows, and shows students how to create a basic workflow.


  • Understanding Workflows
  • Implementing Workflows

Module 13: Working with XML Data

This module explains how Windows PowerShell interprets, represents, and manipulates XML-based data.


  • Understanding XML
  • Implementing XML Manipulation

Module 14: Using Advanced Scripting Techniques

This module explains how to use advanced scripting techniques, including execution of external commands and graphical user interfaces.


  • Using External Functionality
  • Adding Graphical User Interface Elements

Module 15: Creating Proxy Functions

This module explains how to create proxy functions in Windows PowerShell.


  • Designing Proxy Functions
  • Implementing Proxy Functions

Module 16: Building Tools in Windows PowerShell

This module is a “final exam” for the course, and offers students the opportunity to build a complete tool, from scratch, using many of the techniques that they have learned in the preceding days.


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


Lab: Parameterizing a Command
Lab: Creating a Script Module
Lab: Handling Errors
Lab: Creating Hierarchical Command Output
Lab: Debugging Scripts
Lab: Customizing Default Formatting
Lab: Adding Advanced Parameter Attributes and Command Documentation
Lab: Creating Controller Scripts
Lab: Creating Reports by using HTML
Lab: Creating Basic Workflows
Lab: Working with XML Data
Lab: Creating Proxy Functions
Lab: Building Tools in Windows PowerShell

What You’ll Learn

After completing this course, students will be able to:

  • Design tools, including input requirements, output requirements, and functional requirements.
  • 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

Additional information


05/03/2021 (Live Virtual) $2,995, 06/07/2021 (Live Virtual) $2,995, 07/12/2021 (Live Virtual) $2,995, 08/09/2021 (Live Virtual) $2,995, 09/06/2021 (Live Virtual) $2,995, 10/04/2021 (Live Virtual) $2,995, 11/08/2021 (Live Virtual) $2,995, 12/13/2021 (Live Virtual) $2,995

Train Your Team

Save money and get your team trained. With a group of 5 or more people, you have special options. Click the button below to request a special quote for your team now!

Request Group Quote

Register - Choose Date


Number of Seats: