A new feature is generally available for Azure Virtual Desktop called Start VM on Connect. This feature allows users to start Azure Virtual Desktop hosts if it is not started when they try to connect. This feature works for personal or pooled hosts. Thanks to this feature and auto shutdown you can save a significant amount of money. In this topic, I’ll show you how to enable this feature.

Create a custom RBAC role

First of all, you have to create a custom role to allow Windows Virtual Desktop service to start VM. For that, open your subscription and navigate to Access Control (IAM).

 Access Control (IAM)

Provide a role name and a description and then click on next.

Provide a role name

Now you have to add two kinds of permissions:

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

Add two kinds of permissions

Click on Review + Create to create the custom role. Then click on add again and select Add role assignment. Then select the role you have just created and assign permissions to Windows Virtual Desktop.

The custom role

Enable Start VM on Connect

Navigate to the host pool where you want to enable Start VM on Connect. Now navigate to properties and enable Start VM on Connect.

 Start VM on Connect

Let’s try start VM on connect

The Microsoft documentation indicates that the following Remote Desktop clients support the Start VM on Connect feature:

As you can see, my VM is stopped (deallocated):

VM is stopped

Now from my Remote Desktop client on Windows 10 I try to connect to my personal desktop: the window indicated that the remote computer is starting (in French :p)

Remote Desktop client

Now the machine is running:

Now the machine is running

After the VM has finished to start, the client is connected to the Azure Virtual Desktop VM.

Azure Virtual Desktop VM

Back to blog