Development repo for adding Azure Virtual Desktop (AVD) reporting to the AsBuiltReport.Microsoft.Azure module. The code here will be contributed upstream via PR.
Single consolidated function Get-AbrAzDesktopVirtualization covering all AVD resource types with four InfoLevel tiers:
| InfoLevel | Content |
|---|---|
| 1 | Summary tables for host pools, application groups, workspaces, scaling plans |
| 2 | Per-host-pool detail sections with RDP properties, agent update config, session host tables with health checks |
| 3 | Registration token info, per-app-group detail with published applications (RemoteApp), per-scaling-plan schedule breakdowns |
| 4 | Per-session-host vertical detail sections (OS, VM ID, update state), active user sessions per host pool |
| Check | Condition | Style |
|---|---|---|
| Session Host Unavailable | Status != "Available" | Warning |
| Session Host Drain Mode | AllowNewSession = false | Warning |
| Registration Token Expired | Token past expiration | Warning |
| No Session Hosts | Host pool has 0 session hosts | Warning (bold paragraph) |
| Host Pool at Capacity | Sessions >= MaxSessionLimit | Warning (bold paragraph) |
Get-AzWvdHostPool,Get-AzWvdSessionHost,Get-AzWvdUserSessionGet-AzWvdApplicationGroup,Get-AzWvdApplicationGet-AzWvdWorkspace,Get-AzWvdScalingPlan
This module supports the AsBuiltReport internationalization framework (v1.5.0+). Language strings are externalized in Language/<culture>/MicrosoftAzure.psd1.
Supported languages:
| Culture | Language |
|---|---|
| en-US | English (US) |
| en-GB | English (UK) |
| es-ES | Spanish (Spain) - also used for es-MX fallback |
| fr-FR | French (France) |
| de-DE | German (Germany) |
Additional languages welcome via PR. Regional variants (e.g., es-MX, fr-CA) will automatically fall back to their base language.
When contributing to the upstream module, merge the GetAbrAzDesktopVirtualization section from each language file into the parent module's corresponding Language/<culture>/MicrosoftAzure.psd1.
To integrate into the installed AsBuiltReport.Microsoft.Azure module:
- Copy
Src/Private/Get-AbrAzDesktopVirtualization.ps1to module'sSrc/Private/ - Merge language strings from each
Language/<culture>/MicrosoftAzure.psd1into parent module's corresponding language files - Add
"DesktopVirtualization" = "Get-AbrAzDesktopVirtualization"to$SectionFunctionMapin the orchestrator - Add
"DesktopVirtualization"to$DefaultSectionOrderin the orchestrator - Add
DesktopVirtualizationentries to module JSON:SectionOrder,InfoLevel,HealthCheck
- PowerShell 7+ (
pwsh) Az.DesktopVirtualizationmoduleAsBuiltReport.Microsoft.Azurev0.2.0+