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

  • Switch statements in PowerShell are like the Swiss Army knife of control flow – they can handle multiple conditions with the elegance of a ballet dancer and the efficiency of a German engineer. Think of them as the sophisticated cousin of the if-else statement who went to college, learned multiple languages, and now works at […]

  • Enums in PowerShell provide a clean way to work with strongly typed values, improving readability, maintainability, and reducing errors. By grouping related constants under a single type, you avoid magic numbers and hardcoded strings, gain autocompletion, and enable built-in validation in functions. Whether you use native syntax, Add-Type with C#, or classes with static properties, enums make your scripts more robust and easier to manage.

  • Dot sourcing is like the PowerShell equivalent of borrowing your neighbor’s tools – except instead of forgetting to return them, you get to keep everything permanently in your workspace. It’s a powerful feature that allows you to run a script in the current scope rather than in a new, child scope, making all its goodies […]

  • Hashtables and PSCustomObjects may look similar in PowerShell, but they serve very different purposes. This post explores their syntax, performance, and practical use cases, helping you choose the right structure for dynamic data handling or clean output formatting.

  • PowerShell 7.4 introduces a subtle but impactful change: the default encoding for HTTP requests is now UTF-8 instead of ASCII. This shift can cause unexpected issues when working with the Microsoft Graph API, particularly during .intunewin file commits in Intune. In this post, I explain the root cause, share workarounds, and offer practical solutions to keep your automation workflows running smoothly.

  • Tired of manually downloading LEGO building instructions? This PowerShell function automates the process by fetching the instruction page, filtering valid PDF links, and saving them neatly into a folder per set. Whether you’re organizing your collection or just love scripting, this tool adds efficiency and fun to your LEGO hobby.

  • PowerShell Remoting lets you run commands, gather inventory, and automate fixes across dozens—or hundreds—of systems from one console. In this guide you’ll enable remoting safely, run one‑off commands with Invoke-Command, build persistent sessions for faster workflows, push scripts, move files, and troubleshoot connectivity like a pro. If you manage Windows servers or mixed environments, mastering these patterns will cut tedious RDP hops, standardize execution, and boost reliability—while keeping security (WinRM, auth, firewall, encryption) front and…

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