Configure Host Pool Demo
Start course

In this course, you will learn about host pools and session hosts in Azure Virtual Desktop.

Learning Objectives

  • Deploy and configure host pools and session hosts
  • Set up autoscaling for Azure Virtual Desktop
  • Understand Azure Virtual Desktop limits
  • Set high availability options for Azure Virtual Desktop
  • Use Azure Virtual Desktop session host join options
  • Automate Azure Virtual Desktop

Intended Audience

This course is for anyone planning to take the Azure Virtual Desktop Specialty exam and anyone interested in learning how to deploy an AVD environment.


To get the most out of this course, you should have an administrator-level understanding of Azure Virtual Machines, Azure high availability solutions, Windows management join options, ARM templates, PowerShell, and the Azure CLI.


Now that you've built your first Host Pool, let's have a look around. Starting at the top, we have a registration key, and this will be necessary when building our session host, so we'll come back to that one later. Then we have some information about our Host Pool and our tags. In the bottom section, we can see the total number of session hosts which right now is zero. Separate from that is the number of session hosts that are unavailable for user connections, then the disconnected, active, and total number of user sessions. Finally, at the bottom is the number of application groups and applications this pool supports. Over on the left of the screen, we have the blade section. 

Starting at the bottom, click on 'Diagnostic settings'. This is the same settings that we walked through during the build process and it's required to set up AVD insights monitoring. Click the 'Add diagnostic settings' in the middle. Settings need a name but it does not have to be unique. So, we'll just call it Host Pool Monitoring. On the left, we have all of the different log categories that can be monitored, but the default recommendation is to select all logs. Then on the right, we have the destination for those logs. Now to use the native insights monitoring tool, you'll need to store this in log analytics. So, I'll just check that box and select a workspace in my environment. 

Then click 'Save' at the top. Now, of course, if you're using a different monitoring solution, then you'll need to pick the proper log destination. Moving up the blade, we have the management section. We're going to skip MSIX packages since that would be more related to a course on AVD applications. We'll come back to session host in a few minutes. So, click on 'Application groups'. The one thing I'll mention here is that during the portal build process, you'll get your first desktop application group automatically. But if you provision your session host through an arm template or some other scripted automation, you would not get an application group by default. 

And since application groups are their own resources which would be covered in another course on apps, we'll move on to the scheduled agent updates. This feature lets you control when the AVD session host agent updates are rolled out and they can be deployed during your maintenance windows. This is separate from the validation environment setting and can be used in conjunction with it. To enable, check the box at the top and then you'll need to specify a schedule. If your session hosts are spread across multiple regions, then I suggest you check this box to use the local session host time zone. That way, each region will be able to follow its own maintenance window instead of having one global maintenance window. This will help any maintenance going on in region A not disturb the users in region B. Then we need to select our maintenance window by picking the day of the week and the time you want the window to begin. 

You can also check the box here for an additional maintenance window if you like, and then click 'Apply' at the bottom. Next in the blade is the property section. Here's where you'll find the resource ID for the Host Pool, and if you scroll down, we have the start VM on connect and validation environment settings. Start VM on connect only applies to Personal-HostPools, so we won't worry about that for this Pooled-HostPool. You can also give your Host Pool a friendly name and a description, and at the bottom, you can change the load balancing algorithm or the max session limit. Once you've made any changes here, you'll need to click 'Save' at the top. Next is the RDP properties. This controls some of the look, feel, and security of your Host Pool that more traditionally would have been done through group policy. Now, not all of these settings are applicable in every environment. 

For example, unless you're using smart card authentication, you wouldn't need to use the KDC proxy name. On the sessions tab, you can control the reconnection behavior and compression for video playback and try to optimize the user experience. On the device redirection tab, you'll find several of these security settings controlling microphone and camera redirection, presenting local drives into the AVD session, as well as clipboard and local printer redirection behavior, and a whole lot more. The display settings is where you can figure how the sessions will be displayed to the users, from picking single or multiple monitors to specific resolution settings and scaling factors. On the advanced tab, this is the culmination of all of the other settings. The ones you're seeing here are all of the default settings and any changes you make on the previous tabs will update here automatically and then you just click 'Save'. You can find a full list of these settings here in the AVD documentation and there is a whole lot to read through.


About the Author

Dean Cefola is a Principal Azure Engineer at Microsoft and has worked in the IT industry for over 20 years. Dean has been supporting Azure Virtual Desktop from the beginning and is the Microsoft FastTrack Global Leader for AVD.