Skip to main content

Start VM on connect capability in Azure Virtual Desktop

Howdy Folks,

Here is a another cool new feature of Azure Virtual Desktops, and also this feature is recently released to all the tenants as it went on general availability. This feature is called "Start VM on Connect"

Start VM on Connect will help you optimize the costs of your deployment by offering a configuration setting in the service to start stopped or deallocated VMs when needed

This new feature that will turn on a shutdown or deallocated VM in a Azure Virtual Desktop host pool when a user tries to connect to it. You could always set policies to shut down idle VMs and save cost - but with the Start VM on connect capability you can now also ensure that those VMs are available to your users if needed.

What do we need to have this enabled, of course there are few limitations. when this feature was originally released this was only available for personal host pools but luckily now its available for both pooled and personal. so then what are the limitations

Requirements and limitations
You can enable the start VM on Connect feature for personal or pooled host pools using PowerShell and the Azure portal.

The following Remote Desktop clients support the Start VM on Connect feature:

The web client
The Windows client (version 1.2.2061 or later)
The Android client (version 10.0.10 or later)
The macOS client (version 10.6.4 or later)
The iOS client (version 10.2.5 or later)
The thin clients listed in Thin client support

Before you can configure the Start VM on Connect feature, you'll need to assign your VM a custom RBAC (role-based access control) role. This role will let Azure Virtual Desktop manage the VMs in your subscription. Following are the custom permissions. And these need to assign to the AVD

  • Microsoft.Compute/virtualMachines/start/action
  • Microsoft.Compute/virtualMachines/read

Once the permission is set, its just a matter of enabling this feature in your AVD host pool as below. You can use either GUI o r PowerShell to enable this.

AVD VM Start VM on connect

or below PowerShell will do the trick

Update-AzWvdHostPool -ResourceGroupName -Name -StartVMOnConnect:$true

And one thing to remember these are not like scale sets. VM needs to be provisioned first and added to the host pool.

Hope this helps you. and also save some cost for you all. :)


Popular posts from this blog

Deploying an Automation Account with a Runbook and Schedule Using Bicep

Introduction Automation is a key component in many organizations' cloud strategy. Azure Automation allows you to automate the creation, deployment, and management of resources in your Azure environment. In this post, we will walk through the process of deploying an Automation Account with a Runbook and Schedule using Bicep, a new domain-specific language for deploying Azure resources. Intention My intention at the  end is to run a PowerShell  script to start and shutdown Azure VMs based on tag values. PowerShell  script that I have used is from below l ink.  And two  of me   collogue s ( Michael Turnley   and Saudh Mohomad helped to modify the  PowerShell  script. Prerequisites Before we begin, you will need the following: An Azure subscription The Azure CLI installed on your machine. The Azure Bicep extension for the Azure CLI Creating the Automation Account The first step in deploying an Automation Account with a Runbook and Schedule is to create the Aut

Migrating Azure DevOps Variable Groups

Howdy Folks, I was working on an application modernization project. And there was a requirement to migrate application deployments from one project to another in Azure DevOps. deployment pipelines were heavily dependent on variable groups. So, we wanted to migrate these variables group to the new project. Couldn't find any solutions in internet for this, so came up with the below scripts. You can grab the scripts from the below GitHub URL. DaniduWeerasinghe911/Migrate-Azure-DevOps-Variable-Groups: This Repo Include PowerShell Scripts relating to Migrating Azure DevOps Variable Groups ( Azure DevOps Variable Groups Azure DevOps Variable Groups are a way to store and manage sets of variables that can be used across multiple pipelines in Azure DevOps. These variables can include secrets, connection strings, and other sensitive information that is needed for builds and releases. Variable Groups provide a centralized way to manage these variables and ensure that they are cons

Securing Azure Services with Fetian FIDO

Hey Folks  Here again with another security topic with Fetian Fido. And once again Fetian devices proved their excellent quality and stability. For this I choose Fetian K33 -  AllinPass FIDO Security Key – FEITIAN ( and  K39 -  Single-button FIDO Security Keys | FEITIAN ( Use case  In an organization following changes needs to be implemented.  1. Update the password policy 2. Update the user session time out to 30 minutes Once these changes being implemented, the following issues need to be addressed 1. Users' complaint new passwords need to be so long 2. Users complain sessions time out makes them work so much slower with the longer passwords 3. Etc... Solution  One of my friends reached out to me to help solve this problem. All I could think of was using passwordless auth with FIDO devices. We have decided to use Fido2 keys for better security and flexibility for the users. The FIDO (Fast IDentity Online) Alliance helps to promote open authentication stand