avd-opsDeploy quietlyPersonal project. Not for production. No warranty.Not for production
Personal project, not for production. Provided as is, without warranty of any kind (MIT License).
Not affiliated with, endorsed by or supported by the author's employer, and not an official Microsoft product.
Not a certification, a compliance attestation or a security audit.
Assessment settings
Used to build the commands. Kept only in this browser.
Run the commands in
Clears the saved progress, answers, notes and settings from this browser.
Report a problem
This opens a public GitHub issue. Your browser redacts the report first. Read it before you send it.
What gets removed
Anything that looks like a password, key or token; email addresses and UPNs; tenant and domain names; IDs; public IP addresses; user names in paths; subscription and resource group names (from your settings and the output); resource names in Azure resource IDs; storage and key vault names; and the words you add below. Server names the output prints any other way are not found: add them. Nothing leaves this page until you submit the issue on GitHub, which needs a GitHub account.
AVD assessment portal
Assesses an AVD estate with avd-current-state, one step at a time. Nothing you paste leaves this browser.
Collect the inventory
Run one read-only command, then paste its output here.
For Cloud Shell, PowerShell
Collect and pseudonymize
Read in this browser. The paste itself isn't saved.
What the command does
The collector reads what is in your subscriptions through Resource Graph and writes an evidence package in Cloud Shell. Then the facts script gives the estate a pseudonym, which the later steps use instead of any name. Both only read. Run each command in Azure Cloud Shell and paste the output back: nothing you paste or type leaves this page unless you send a report yourself.
Running it on a schedule? Check the optional reader
An optional read-only identity lets GitHub Actions in your private repo run the collector with nobody signed in. Set it up from the reader guide; this check only reads.
Check the reader
Residency and regions
Where the estate's data must stay, and where you would like it.
Where the answers go
The discovery interview asks what telemetry can't know. The answers become intake.json (avd-intake/v1), which holds only choices, region names, times and the estate pseudonym. Private notes go in a notes file that stays on your device.
Network and identity
The network the landing zone joins, and the identity it is held to.
Working hours
When most users start and finish, and on which days.
Users and use cases
Note who works on the estate and what hurts today, then build intake.json.
Notes only for now; the structured use case record comes with avd-assess's discovery guide. Importing avd-linecheck exports folds banded user ratings, symptom chips and per-network reachability into intake.json (with zero free text). The block writes intake.json beside the evidence packages, where the validator reads it.
Analyze against the standards
Run the read-only validator, then paste its output here.
For Cloud Shell, PowerShell
Validate
Read in this browser. The paste itself isn't saved.
What the validator checks
The validator checks every host pool after deployment: wiring, app group access, session host health, profile storage, scaling, diagnostics and backup. Scoring against the avd-assess method, with intake.json, joins this step when the validator's assess mode lands.
Review the findings
Load assessment.json, then decide each finding: fix, accept or defer.
As-is architecture & network diagram
Generated from your Assessment Report (assessment.json, C21) findings and Discovery Intake (intake.json, C19) answers across all five control planes and four Azure architecture zones.
The decisions become review.json (avd-assessment-review/v1), which pins the report by its hash and holds only check IDs and reason codes. A note on a finding goes to your private notes file. The block writes it beside the evidence packages.
Plan the remediation
The findings to fix become an ordered plan you can download.
Load assessment.json in the Review step first.
The plan, in priority order: gap, warn, unknown; then severity
The findings you chose to fix, and every finding nobody reviewed, become an ordered plan: what good looks like and why, the landing zone parameter or setting that changes it where one is known, and what is outside the landing zone's reach. Accepted and deferred findings stay out. Saved as plan.json (avd-remediation-plan/v1), which holds only check IDs, citations and public values, and plan.md for people.
A landing zone change fixes only what the landing zone deployed. A finding on a resource it doesn't own is changed where that resource is managed.