• Discover how recursive functions work in PowerShell and why they’re perfect for navigating complex, nested data structures. Inspired by Boot.dev’s RPG-style learning, this post walks through a practical example using JSON and hashtables to build file paths recursively—ideal for backend developers looking to level up their scripting skills.

  • When splitting a list of users into batches, rounding errors can lead to unexpected results. In this post, I explore common mistakes with [math]::Round(), explain rounding strategies, and show how methods like Ceiling() and Floor() can help you get accurate batch counts in PowerShell.

  • Unlock the full potential of PowerShell 7.x while still running those essential legacy scripts! Discover how to seamlessly execute PowerShell 5.1 modules like ‘VirtualMachineManager’ within your modern console. Follow our quick guide to bridge the gap between versions effortlessly.

  • Strict mode is a concept found in various programming languages, designed to enforce stricter coding rules and catch common bugs early. While PowerShell doesn’t have a strict mode like JavaScript or TypeScript, it does offer a feature called Set-StrictMode that serves a similar purpose.

  • In our previous article, we explored the fundamentals of PowerShell modules – what they are, why to use them, and how to create basic modules. Now, let’s dive deeper into advanced module development techniques, best practices for keeping your code clean and structured, and professional-grade module development workflows. This continuation will help you transform from a module user to a module architect, capable of building robust, maintainable, and professional PowerShell modules.

  • Discover how PowerShell 7’s null-coalescing operators (?? and ??=) can simplify your scripts by handling $null values more cleanly and safely. This guide covers basic usage and tips to make your code more readable and reliable.

  • In this follow-up to my previous post on building GUIs with PowerShell, I walk through a practical example: a GUI-based log viewer. This tool allows users to filter and open log files without needing PowerShell knowledge—perfect for sharing with colleagues. I explain each step of the script, from setting up the form and controls to handling events and filtering logs. The code is available on GitHub and is intentionally left open for customization and learning.

  • PowerShell can create GUIs, making scripts accessible to users unfamiliar with the command line, enabling real-time interaction, and adding professionalism. Windows Forms, a .NET framework, offers various controls like buttons and text fields. By leveraging .NET libraries, you can build graphical interfaces for input and output fields while working within PowerShell.

  • Checking for null and empty values is crucial for robust PowerShell scripting. This blog explores effective methods to handle these checks, ensuring your scripts run smoothly and error-free. Learn the best practices for comparing values. Enhance your code readability and reliability with these essential techniques.

  • Need to know which parameters were actually passed to your function? $PSBoundParameters has you covered. It’s a built-in dictionary that only includes parameters explicitly provided by the caller. This makes it perfect for clean logic, dynamic behavior, or smart defaults—no need to check for $null or rely on default values. If a key exists in $PSBoundParameters, you know the user meant to pass it.