How to create pooled (shared) Windows Virtual Desktop environment
One of the key benefits of Windows Virtual Desktop is that it provides access to a special version of Windows 10, known as Windows 10 Enterprise for Virtual Desktops. As far as I know, this is the only Windows 10 version that supports multiple user sessions. In other virtual desktop scenarios Windows Server had to be used because that natively supported multiple user sessions. Now users can get the best experience in a virtual environment with Windows 10 while still sharing resources to minimize cost.
Now that we know the importance – let’s set it up!
Start by heading over to the Azure portal, and going to Windows Virtual Desktop, and clicking Create a host pool:

On the Create a host pool page, under Host pool, be sure to select the following settings:
- Host pool type: Pooled
- As the name of this blog post suggest, we’ll be creating pooled host pools. Selecting personal here would effectively create individual virtual machines for each user.
- Load balancing algorithm: Depth-first
- From the info icon: “Breadth-first load balancing distributes new user sessions across all available session hosts in the host pool. Depth-first load balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.”
- I’m selecting Depth-first because I’d like to experiment with maximum amount of users before a session becomes overloaded, but you can select Breadth-first for a better overall user experience.
- Max session limit: 5 (depends on your VM size)
- This will be the maximum number of concurrent sessions on a host. For depth-first, once a VM hits 5 users, then the next VM will begin accepting users.

Now we can define the virtual machine settings. Select the following settings:
- Resource group: Same as host pool
- Name prefix: Anything, but note that it will be followed by -1, -2, etc
- Availability options: As needed (for my lab, set to no infrastructure redundancy required)
- Image type: Gallery
- If you wanted to create a golden image to use with WVD, here’s where you would select it (after uploading it to an Azure blob)
- Image: Windows 10 Enterprise multi-session, latest version
- Virtual machine size: As needed (for my lab, set to B2s)
- Number of VMs: As needed
- OS disk type: Standard SSD

As we covered in our How to quickly deploy Windows Virtual Desktop (WVD) – Step by Step blog post, all WVD machines must be joined to your domain. The following settings are used for both the networking of the WVD machines and to domain joined them as they are built:
- Virtual network: Existing virtual network that has line of site to DC (if you don’t see one here, make sure you selected the same location as the resource group it’s deployed in)
- Subnet: Default
- Network security group: Basic
- Public inbound ports: No
- Specify domain or unit: Yes
- Domain to join: Fully qualified domain
- AD domain join UPN: Account used for domain join

Next we’ll configure the Workspace settings. I’ll create a new workspace with “Pooled” in the name:

Perfect! Now we’re good to click Create and watch the deployment happen:

Once the deployment completes, all we need to do is assign users to it so they can access the environment.
Open up the Windows Virtual Desktop pane, and select Applications -> and the new application group. Then click Assignments -> + Add -> the user group that you want to have access.

And that’s it! Now any user in that group can access the pooled WVD environment, using any method (web, Windows Desktop client, mobile client, etc.)
To click verify, head to https://rdweb.wvd.microsoft.com/arm/webclient and log in with a user who is in the application group.

Happy pooling! 🏖️
Nice blog, it looks like you are already using a preexisting domain, how would one log into the VM using AzureAD accounts?
Previously, Azure Virtual Desktop (or WVD) used to only support Hybrid Join. There are new instructions for AADJ VMs: https://docs.microsoft.com/en-us/azure/virtual-desktop/deploy-azure-ad-joined-vm