• 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.

  • PowerShell is a powerful and versatile scripting language that is very useful for automating processes. I often look for how others have solved a particular problem. I want to share some, not all — sorry– :), handy tricks that I have collected over time with you here. They are not complete scripts but rather a collection of useful snippets that you can use in your own scripts. Most examples come from the PowerShell community, and…

  • In this blog post, we explore the power of Foreach-Object -Parallel in PowerShell to enhance performance for intensive tasks. By leveraging parallel execution and optimizing the use of variables, we can significantly reduce runtime and improve efficiency. We provide practical examples, including the use of ThrottleLimit and handling variables in parallel, to demonstrate the benefits and considerations of this approach. Whether you’re new to parallel execution or looking to refine your scripts, this guide offers…

  • PowerShell’s $PSCmdlet variable is a powerful tool for script developers, enabling deeper interaction with the runtime environment of a cmdlet. By leveraging $PSCmdlet, you can write more robust, efficient, and user-friendly scripts. This blog dives into the essential use cases and techniques for working with $PSCmdlet, providing practical examples and best practices to elevate your scripting skills. Introduction […]