I spent a lot of my career running virtual desktops for MSP clients. Today I work as an M365 cloud admin.
Azure Virtual Desktop is easy to stand up. Keeping it healthy day to day is the harder part.
So I cleaned up the checks I use and shared them on GitHub. This toolkit uses PowerShell 7 and the Az.DesktopVirtualization module.
Repo: azure-virtual-desktop-powershell-toolkit
The problem it solves
A host gets left in drain mode after patching. Nobody notices until the other hosts are full.
A disconnected session holds a profile lock. The user can't sign in, and the ticket says "AVD is broken."
Pools run all night with no scaling plan. The bill shows it.
These scripts make those checks quick and repeatable.
Highlight scripts
Get-AvdSessionHostReport.ps1
Checks every session host in every pool. It flags hosts that are unavailable, stuck in drain mode, missing heartbeats or failing health checks.
. / Get - AvdSessionHostReport .…