Intermediate
For those who have mastered the basics and are ready to level up.
-
Not every problem needs a class. Discover the most common object-oriented mistakes in PowerShell, including overengineering, framework obsession, and deep inheritance hierarchies.
-
Reliable automation requires trust. Learn how PowerShell classes improve testability, how to write effective Pester tests, and why testing business logic, validation, and object behaviour can dramatically reduce the risk of production failures.
-
Classes are only the beginning. Learn how to organise domain objects, service classes, configuration, and reporting into reusable automation frameworks that scale beyond individual scripts without becoming overly complicated or difficult to maintain.
-
Explore how inheritance can reduce duplication and improve code reuse, while also learning why deep class hierarchies often become a liability. Understand when to use inheritance, when to prefer composition, and how to keep your object model simple and practical.
-
Refactor a traditional server health-check script into a practical PowerShell class. Discover constructors, methods, encapsulation, and object behaviour through a realistic example that demonstrates how classes can turn sprawling scripts into maintainable automation solutions.
-
PowerShell classes are not about making scripts look like C#. They’re about reducing complexity as automation grows. Learn when classes add real value, how they differ from PSCustomObject, and why long-lived automation projects often benefit from a more structured approach.
-
Learn how to calculate the maximum depth of a JSON object in PowerShell using a recursive approach. This article explains the logic behind the Get-JsonDepth function, discusses why arbitrary depth limits should be avoided, and explores the balance between accuracy, maintainability, and performance when traversing complex object graphs.
-
PowerShell Remoting over SSH combines the power of PowerShell with the universal availability of SSH. Especially in environments where both Windows and Linux systems are managed, it provides a modern and flexible way of working.
-
Storing credentials in plain text within scripts is a common but risky practice. While it may seem convenient for automation, it exposes sensitive data to anyone with access to the code. In this article, we explore a safer approach using PowerShell’s ConvertTo-SecureString and ConvertFrom-SecureString to encrypt passwords tied to a specific user and machine. This method significantly reduces the risk of credential leaks while keeping automation seamless.
-
Have you ever written a script that worked perfectly in testing, only to cause chaos in production? I have, and it was one of the most stressful days of my career. This experience changed how I write scripts. More checks, fewer assumptions, and no blind trust in defaults.
