Hands-On Lab: Turning PowerShell Scripts into Tools Worth Sharing

Most IT pros have a folder full of useful PowerShell scripts. Some started as one-liners. Others became quick fixes for a recurring problem: collect a report, restart a service, clean up a resource, provision an account, check a configuration or automate a task that no one wanted to do by hand again.

But there is a big difference between a script that works for its author and a tool that other people can trust. The moment a script is shared with a team, it needs to become more predictable, discoverable and maintainable. It should accept input cleanly, validate parameters before making changes, work naturally in the pipeline, provide useful tab completion and explain itself through help. In other words, it needs to behave less like a personal shortcut and more like a PowerShell command.

That is where advanced functions come in. By using features such as CmdletBinding, parameter attributes and validation rules, scripters can build functions that feel closer to compiled cmdlets while still writing PowerShell. Add argument completion, and a function can guide users toward valid values at the command line. Add comment-based help, and the tool starts to document itself in the same environment where people use it.

The next step is packaging. A handful of functions in a loose script file may solve today's problem, but a structured module can become shared infrastructure. PowerShell module manifests describe a module's contents, prerequisites, versioning and loading behavior, and Microsoft notes that manifests are required when publishing to the PowerShell Gallery. That kind of structure matters when automation moves from "my script" to "our toolset."

Those are the skills at the center of Hands-On Lab: PowerShell Toolmaking Tips - Build Reusable Tools Worth Sharing, an intermediate-to-advanced workshop scheduled for Monday, August 3, 2026, from 8:30 a.m. to 5:30 p.m. at TechMentor & CyberSecurity Live! @ Microsoft HQ.

The all-day session is designed for attendees who already have experience writing basic scripts and are ready to take the next step. This is not positioned as a beginner PowerShell class. Instead, it focuses on the practical craft of turning everyday automation into reusable tools and published modules that others can run with confidence.

Attendees will learn how to design advanced functions with parameter validation, pipeline support, argument completion and comment-based help. They will also learn how to organize code into well-structured modules, including module manifests and public versus private functions, and how to publish packages to a PowerShell repository. The format emphasizes interactive demos and hands-on coding, giving attendees concrete examples they can adapt after the workshop.

That emphasis on reusability is increasingly important for IT, automation and DevOps teams. Shared PowerShell modules can reduce duplicated effort, standardize operational practices and make automation easier to review, version and improve. A well-built function can also prevent mistakes by validating inputs early, supporting expected pipeline behavior and making the "right way" to use the tool easier than the risky way.

The lab will be led by Steven Judd and Sean Wheeler. Judd is a Microsoft MVP and Infrastructure Engineer at Tenstreet with more than 30 years of IT experience, including enterprise email administration, digital security analysis, cloud and DevOps advisory work, and years of PowerShell community involvement. Wheeler is Principal Content Developer for PowerShell at Microsoft, where he has led PowerShell documentation since 2017 and supports open-source community contributions to the docs.

Participants should bring a laptop to take notes and follow along with the provided code. The preferred configuration is PowerShell 7 on any supported operating system, although Windows PowerShell 5.1 will work for most examples, along with Visual Studio Code and the PowerShell extension. For PowerShell users who have outgrown copy-paste scripts and want to build tools their teams can actually share, maintain and publish, this lab offers a full day of practical next-level skill building.

Featured

Subscribe on YouTube