A growing toolkit of PowerShell scripts for network discovery, system troubleshooting, and everyday IT administration, built to automate repetitive tasks and standardize how I diagnose issues across client environments.
I maintain a personal toolkit of PowerShell scripts built to automate the kinds of tasks that come up repeatedly in MSP work — network discovery, system health checks, and troubleshooting across storage, networking, and security. The scripts follow consistent conventions (standard param blocks, CSV export, colored console output, elapsed time reporting) so they're easy to reuse and extend.
The centerpiece is a network scanner that uses async pinging and multi-threaded runspaces to sweep a subnet quickly, with configurable port scanning, automatic subnet detection, ARP-based MAC address lookup, and manufacturer resolution via the macvendors.com API. Alongside it is a broader troubleshooting toolkit — roughly 20 scripts covering storage, system health, networking, user and security auditing, and reliability monitoring.
Building this toolkit taught me a lot about PowerShell performance — especially runspaces versus simple loops for anything that touches the network — and reinforced how much time consistent script conventions save once a toolkit grows past a few one-off scripts.