
The First CI Run Failed All Three Jobs
OrphanedSid passed every test locally and on a lab domain controller, then failed every job on its first GitHub Actions run. Four runs later it was green, and almost none of the fixes touched the module.

OrphanedSid passed every test locally and on a lab domain controller, then failed every job on its first GitHub Actions run. Four runs later it was green, and almost none of the fixes touched the module.

I staged OrphanedSid on a lab domain controller with 2,412 of its 2,414 tests passing. Discovery found nothing, every restore failed, and every removal logged an error while it succeeded.

I wrote OrphanedSid’s tests for the Pester 3.4 in Windows. Moving them to Pester 6 took a scripted rewrite of every file, and the stubs standing in for Active Directory were wrong on both versions.

I moved Find-UnknownSID out of my scripts repo so it could have releases of its own. The audit before the move found docs for a tool that never existed, and the loader hit case-insensitive names.

I rebuilt my old Find-UnknownSID script as OrphanedSid, a PowerShell Gallery module with three commands, then ran the published 1.0.1 against a lab domain from discovery through removal and back.

My Surface Pro 11 put a Copilot key where Right Ctrl belongs, so I made it Right Ctrl with Keyboard Manager. That grew into a PowerToys tour, plus why Windows’ new Right control option did nothing here.

I saw MarkX 0.1.4 announced with Hugo support and pointed it at this blog, where Hugo already renders every post. It had nothing to add. It fits elsewhere: tables as data, link audits, objects as tables.

I shipped CaOutcome with 204 passing tests and a README example that gave thirteen wrong answers. Every test passed the collection by parameter. Maester pipes it, and PowerShell unrolls a piped array.

I found MC1448379 while hunting for my next post: on November 3, every memberOf group, administrative unit and auto-assignment policy stops updating. Microsoft says grep for the word. I wrote a parser.

On 10 September my UDM’s WAN port renegotiated to 100 Mbps and stayed up. No alert fired, and the house sat at 178 ms for hours. I traced it to a cable and wrote a poller to catch it next time.