Occasional Use Azure Virtual Desktop (AVD) Bicep

21 Feb 2026 min read

Overview

avd‑occasional is a practical, infrastructure‑as‑code solution for deploying a full Azure Virtual Desktop (AVD) environment on demand. The idea came from a recurring/occasional need I had: when travelling or visiting family, I often require a capable development machine, something far beyond what my lightweight laptop can manage.

Having built AVD manually in the past, I knew how many interconnected steps were involved; how unrealistic it was to remember them months later when I needed the environment again; and frankly what a complete PITA it is getting it working. I wanted a setup I could have up and running with a single command, use for a few days, and then get rid again without much thought.

This project aims to deliver that. Using Bicep, it automates all AVD components into a clean, reproducible workflow. It also served as my first Bicep project, a surprisingly enjoyable way to manage Azure resources that I wish I’d found before now in all honesty.

Technologies Used

  • Azure Virtual Desktop: cloud‑hosted Windows desktops for development and testing.
  • Azure Bicep: modular infrastructure‑as‑code used to orchestrate every component.
  • Azure Resource Manager: underlying deployment platform.
  • Azure Networking: virtual networks, subnets, extensions, and connectivity.
  • Entra ID: identity and optional domain join.
  • Azure CLI: command‑line deployment interface.
  • GitHub: source control and open‑source hosting.
  • GitHub Pages: docs site with config and setup details.

Key Features

  • Full AVD deployment: host pool, workspace, application group, VM(s), and extensions.
  • Clean modular Bicep structure: easy to read, extend, and troubleshoot.
  • One‑command provisioning: deploy a complete environment from parameters.
  • Designed for occasional use: perfect for a short‑term dev box.
  • Cost‑efficient: destroy the resource group to instantly stop all spend.
  • Real‑world ready: handles the wiring, RBAC, networking, and identity steps that are tedious to configure manually.

Docs Site

👉 https://markheydon.me.uk/avd-occasional/

Repository

👉 GitHub Repo


This project is a lightweight set of scripts and Azure AVD configuration that saves hours of manual setup, ensures consistent environment configuration, and showcases the power of Bicep for orchestrating complex Azure services.