Advanced PowerShell

Master the art of sophisticated automation with our Advanced PowerShell course, designed for developers eager to enhance their skills in creating efficient cmdlets and modules using PowerShell and PowerShell 7, complete with hands-on labs.

Course Thumbnail

Essential Skills Gained

Checkmark

Design PowerShell cmdlets with standard best practices.

Checkmark

Implement advanced error handling and debugging techniques.

Checkmark

Develop GUI-based automation tools with PowerShell.

Checkmark

Understand and leverage PowerShell functions and modules.

Format

  • Instructor-led
  • 3 days with lectures and hands-on labs.

Audience

  • Experienced PowerShell Developers
  • IT Automation Engineers
  • System Administrators
  • DevOps Professionals

Description

This course is a continuation of MOC 10961 or AZ-040, Automating Administration with Windows PowerShell.  We will be taking a deep dive into the development of PowerShell cmdlets and modules. Time will be spent on the theory of how to design your cmdlets as well as the proper structure of the programming code to facility cmdlets that work with the PowerShell piping in keeping with community standards.  We will also be exploring how to place a graphical user interface on top of our PowerShell code so we can build tools that are available to everybody. This course will feature both hands on labs and challenged exercises to help you practice and the skills presented in class and develop you coding skills as we work with both Windows PowerShell and PowerShell 7 utilizing VSCode as our development environment.

Calendar icon

Upcoming Course Dates

September 29, 2025 - October 01, 2025

7:00 AM - 3:00 PM

Virtual: Online - America/Los_Angeles

Guaranteed to Run

Enroll

$2095

December 15-17, 2025

8:00 AM - 4:00 PM

Virtual: Online - America/Denver

Enroll

$2095

Course Outline

Download PDF

Module 1 – Getting to Know Objects

  1. Properties

  2. Methods

  3. Events

  4. Lab 1 – Discovering Objects

Module 2 – PowerShell Functions

  1. Building a basic function

  2. Passing data

  3. How to use functions

  4. Advanced parameterization

  5. Lab 2A – Using private functions

  6. Lab 2B – Working with Parameters

  7. Lab 2C – Working with switch parameters

  8. Lab 2D – PowerShell Pipeline ByValue

  9. Lab 2E – PowerShell Pipeline ByPropertyName

  10. Lab 2F – Write code to Accept Input ByProperyName

Module 3 – Creating Output

  1. Why create custom objects?

  2. Ways to create objects

  3. Naming your objects

  4. Accepting your objects in the pipeline

  5. Lab 3A – Creating custom objects

  6. Lab 3B – Accepting your objects in the pipeline

Module 4 – Advanced PowerShell Modules

  1. How to create a module

  2. Module manifest

  3. Formatting file

  4. Reviewing your code

  5. Lab 4A – Complete the formatting file

Module 5 – Advanced debugging and error handling

  1. VSCode debugging

  2. Try / Catch / Finally

  3. How PowerShell handles errors

  4. Handling specific errors

  5. Module 5 Lab A – Custom Error Handling

Module 6 – Final coding project

In this exercise, you will create cmdlets that work together to parse data from a threat intelligence provider to recover data that you need to investigate a security incident.

Module 7 – Graphical Interfaces

  1. Installing the support software

  2. Events

  3. Forms

  4. Label

  5. Textboxes

  6. Buttons

  7. Radio buttons

  8. Check boxes

  9. Data grid views

  10. Scopes of memory

  11. Form projects

  12. Deploying GUIs.

Your Team has Unique Training Needs.

Your team deserves training as unique as they are.

Let us tailor the course to your needs at no extra cost.