From Curiosity to Code Signing: How I Built WhatsUpGoldPS (and Gave GPT-3 a Crash Course in PowerShell)
It all started with a question:
Could I get ChatGPT to build a PowerShell module for WhatsUp Gold… or at least teach me how?
This was January 2023, in the early GPT-3 era, and the first thing it said to me was:
“I’m sorry, I am not able to create a PowerShell module as I am a language model…”
So I took it up on its offer to “provide general guidance.”

Teaching the Teacher
The first code examples ChatGPT gave me for WhatsUpGoldPS were incomplete or broken. Functions would cut off halfway, parameters were missing, and sometimes it generated code that ran, but didn’t actually work with WhatsUp Gold’s REST API.

I treated GPT-3 as a raw capability that, through guidance, could be honed into producing high-quality, domain-specific PowerShell code. I explained why certain API parameters mattered, how to validate input in PowerShell, and the right way to handle pagination and error reporting.

Over several weeks, it learned to output scaffolding in my style, and by pairing my domain expertise with the AI’s pattern recognition, I was able to move faster.
Cracking the WhatsUp Gold REST API
The first big challenge for WhatsUpGoldPS was authentication. Calling /api/devices should have been simple, but it kept failing. The API documentation didn’t explain why, until I discovered the missing piece: the token endpoint only accepts an application/x-www-form-urlencoded body with grant_type=password.
Once that was solved, I built Connect-WUGServer to handle authentication once and store the token and base URL globally. Every API call in WhatsUpGoldPS flowed through a single function, Get-WUGAPIResponse, centralizing error handling, adding optional logging, and making maintenance far easier.
Hidden Gems and Hard Bugs
Exploring the WhatsUp Gold API through WhatsUpGoldPS became a treasure hunt:
- CPU/memory process monitor thresholds that weren’t fully exposed in the UI but could be set via API.
- Parameters that failed silently.
- Endpoints that returned 500 errors without explanation.
By the end, I had reported several reproducible API issues to engineering, fixes that benefited every user.
And then I hit the monitor property bags. That was like discovering the hidden engine room of WhatsUp Gold. It was packed with rich data and configuration levers you’ll never see in the interface.
From “It Works On My Machine” to “Anyone Can Install It”
Building WhatsUpGoldPS for my own use was one thing. Releasing it so any WhatsUp Gold admin could install it without “untrusted publisher” warnings was another. That meant diving into code signing:
- Learning how PowerShell module signing works.
- Obtaining a legitimate code signing certificate.
- Signing WhatsUpGoldPS and building a release pipeline.
Once signed, I published WhatsUpGoldPS to both the PowerShell Gallery and GitHub. Now, installing the module is as simple as running this command:
Install-Module WhatsUpGoldPS
Why It Matters (and Why It’s Product Management at Its Best)
I didn’t build WhatsUpGoldPS because I had to. I built it because I was curious, but that curiosity:
- Deepened my technical understanding of WhatsUp Gold’s REST API far beyond the docs.
- Uncovered and helped fix API issues that improved the product.
- Delivered a signed, production-ready automation tool to customers.
- Gave GPT-3 a hands-on crash course in real-world PowerShell development.
Today, WhatsUpGoldPS is signed, stable, and actively maintained. With over 400 downloads between the PowerShell Gallery and GitHub as of August 2025, it’s being used by admins I’ve never met, which is pretty satisfying for something I built out of curiosity in my spare time.
Resources Used
If you want to explore or replicate this kind of project, here’s what helped me build and publish WhatsUpGoldPS:
- WhatsUpGoldPS on GitHub
- WhatsUpGoldPS on PowerShell Gallery
- WhatsUp Gold REST API Documentation
- Microsoft Docs – Writing a PowerShell Module
- Microsoft Docs – Code Signing for PowerShell
- PowerShell Gallery Publishing Guidelines
- Sign My Code — Code Signing Certificate Procurement
- ChatGPT (Early GPT-3 Public Model, later GPT-4 to the limits daily, eventually conversation too long)






