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).
Provide a role name and a description and then click on next.
Now you have to add two kinds of permissions:
- Microsoft.Compute/virtualMachines/start/action
- Microsoft.Compute/virtualMachines/read
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.
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.
Let’s try start VM on connect
The Microsoft documentation indicates that 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
As you can see, my VM is stopped (deallocated):
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)
Now the machine is running:
After the VM has finished to start, the client is connected to the Azure Virtual Desktop VM.