Skip to content

Commit 1abb228

Browse files
authored
Merge pull request #261681 from dknappettmsft/avd-automated-host-pool-session-host-update-preview
AVD automated host pool and session host update preview
2 parents 033ee42 + 41219ef commit 1abb228

19 files changed

+1641
-138
lines changed

articles/virtual-desktop/TOC.yml

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,11 @@
7676
items:
7777
- name: Deploy
7878
items:
79-
- name: Session hosts
79+
- name: Host pools and session hosts
8080
items:
81+
- name: Host pool management approaches
82+
displayName: standard, host pools, session host configuration, shc, shu
83+
href: host-pool-management-approaches.md
8184
- name: Microsoft Entra joined session hosts
8285
displayName: virtual machines, vms
8386
href: azure-ad-joined-session-hosts.md
@@ -180,6 +183,9 @@
180183
href: disaster-recovery-concepts.md
181184
- name: Session hosts
182185
items:
186+
- name: Session host update
187+
displayName: virtual machines, vms, session host configuration, shc, shu
188+
href: session-host-update.md
183189
- name: Session host management
184190
displayName: virtual machines, vms, intune, gpo, group policy, configuration manager, configmgr, sccm
185191
href: management.md
@@ -423,6 +429,14 @@
423429
- name: Use Azure Virtual Desktop license
424430
displayName: licensing
425431
href: apply-windows-license.md
432+
- name: Session host update
433+
items:
434+
- name: Update session hosts using a session host configuration
435+
displayName: session host update, shc, shu
436+
href: session-host-update-configure.md
437+
- name: Session host update diagnostic queries
438+
displayName: session host update, session host configuration, shc, shu
439+
href: session-host-update-diagnostics.md
426440
- name: Scale session hosts
427441
items:
428442
- name: Autoscale
@@ -606,15 +620,28 @@
606620
items:
607621
- name: Troubleshooting overview, feedback, and support
608622
href: troubleshoot-set-up-overview.md
609-
- name: Quickstart
610-
displayName: troubleshooting
611-
href: troubleshoot-quickstart.md
612-
- name: Host pool creation
613-
displayName: troubleshooting
614-
href: troubleshoot-set-up-issues.md
615-
- name: Session host virtual machine configuration
616-
displayName: troubleshooting, vms
617-
href: troubleshoot-vm-configuration.md
623+
- name: Host pools
624+
items:
625+
- name: Host pool creation
626+
displayName: troubleshooting
627+
href: troubleshoot-set-up-issues.md
628+
- name: Quickstart
629+
displayName: troubleshooting
630+
href: troubleshoot-quickstart.md
631+
- name: Session host update
632+
displayName: troubleshooting
633+
href: troubleshoot-session-host-update.md
634+
- name: Session hosts
635+
items:
636+
- name: Session host update
637+
displayName: troubleshooting, vms
638+
href: troubleshoot-session-host-update.md
639+
- name: Session host virtual machine configuration
640+
displayName: troubleshooting, vms
641+
href: troubleshoot-vm-configuration.md
642+
- name: Session host statuses and health checks
643+
displayName: troubleshooting
644+
href: troubleshoot-statuses-checks.md
618645
- name: Management issues
619646
displayName: troubleshooting
620647
href: troubleshoot-management-issues.md

articles/virtual-desktop/add-session-hosts-host-pool.md

Lines changed: 71 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
title: Add session hosts to a host pool - Azure Virtual Desktop
33
description: Learn how to add session host virtual machines to a host pool in Azure Virtual Desktop.
44
ms.topic: how-to
5+
zone_pivot_groups: azure-virtual-desktop-host-pool-management-approaches
56
author: dknappettmsft
67
ms.author: daknappe
7-
ms.date: 08/08/2024
8+
ms.date: 10/01/2024
89
---
910

1011
# Add session hosts to a host pool
@@ -13,36 +14,66 @@ ms.date: 08/08/2024
1314
> The following features are currently in preview:
1415
>
1516
> - Azure Virtual Desktop on Azure Stack HCI for Azure Government and for Azure operated by 21Vianet (Azure in China).
17+
>
1618
> - Azure Virtual Desktop on Azure Extended Zones.
1719
>
20+
> - Managing session hosts using a session host configuration. This limited preview is provided as-is, with all faults and as available, and are excluded from the service-level agreements (SLAs) or any limited warranties Microsoft provides for Azure services in general availability.
21+
>
1822
> For legal terms that apply to Azure features that are in beta, in preview, or otherwise not yet released into general availability, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
1923
2024
After you create a host pool, a workspace, and an application group, you need to add session hosts to the host pool for your users to connect to. You might also need to add more session hosts for extra capacity.
2125

22-
You can create new virtual machines (VMs) to use as session hosts and add them to a host pool natively by using the Azure Virtual Desktop service in the Azure portal. Alternatively, you can create VMs outside the Azure Virtual Desktop service, such as using an automated pipeline, the Azure CLI, or Azure PowerShell, and then add them as session hosts to a host pool separately.
26+
When you add session hosts to a host pool, the method you use depends on your [host pool's management approach](host-pool-management-approaches.md):
27+
28+
- For a host pool using a *session host configuration* (preview), you use the Azure portal to specify the number of session hosts you want to add, then Azure Virtual Desktop automatically creates them based on the [session host configuration](host-pool-management-approaches.md#session-host-configuration).
29+
30+
- For a host pool using standard management, you can create new virtual machines (VMs) to use as session hosts and add them to a host pool natively by using the Azure Virtual Desktop service in the Azure portal. Alternatively, you can create VMs outside the Azure Virtual Desktop service, such as using an automated pipeline, the Azure CLI, or Azure PowerShell, and then add them as session hosts to a host pool separately.
31+
32+
For Azure Stack HCI, you can create new VMs to use as session hosts and add them to a host pool natively by using the Azure Virtual Desktop service in the Azure portal. If you want to create the VMs outside the Azure Virtual Desktop service, follow the steps in [Create Azure Arc virtual machines on Azure Stack HCI](/azure-stack/hci/manage/create-arc-virtual-machines), and then add the VMs as session hosts to a host pool separately.
33+
34+
> [!TIP]
35+
> Select a button at the top of this article to choose between host pools using standard management or host pools using session host configuration to see the relevant documentation.
2336
24-
For Azure Stack HCI, you can create new VMs to use as session hosts and add them to a host pool natively by using the Azure Virtual Desktop service in the Azure portal. If you want to create the VMs outside the Azure Virtual Desktop service, follow the steps in [Create Azure Arc virtual machines on Azure Stack HCI](/azure-stack/hci/manage/create-arc-virtual-machines), and then add the VMs as session hosts to a host pool separately.
37+
::: zone pivot="host-pool-session-host-configuration"
38+
This article shows you how to add session hosts to a host pool using the Azure portal. Azure PowerShell isn't available for adding session hosts to a host pool with a session host configuration.
39+
::: zone-end
2540

41+
::: zone pivot="host-pool-standard"
2642
This article shows you how to generate a registration key by using the Azure portal, the Azure CLI, or Azure PowerShell. It also shows you how to add session hosts to a host pool by using the Azure Virtual Desktop service or add them to a host pool separately.
43+
::: zone-end
2744

2845
## Prerequisites
2946

3047
For a general idea of what's required, such as supported operating systems, virtual networks, and identity providers, review the [prerequisites for Azure Virtual Desktop](prerequisites.md). In addition:
3148

32-
- You need an existing host pool. You can't mix session hosts on Azure, Azure Stack HCI, or Azure Extended Zones in the same host pool.
49+
::: zone pivot="host-pool-session-host-configuration"
50+
- You need an existing host pool with a session host configuration.
51+
::: zone-end
52+
53+
::: zone pivot="host-pool-standard"
54+
- You need an existing host pool with standard management. Each host pool must only contain session hosts on Azure or on Azure Stack HCI. You can't mix session hosts on Azure and on Azure Stack HCI in the same host pool.
55+
::: zone-end
3356

3457
- If you have existing session hosts in the host pool, make a note of the virtual machine size, the image, and name prefix that you used. All session hosts in a host pool should have the same configuration, including the same identity provider. For example, a host pool shouldn't contain some session hosts joined to Microsoft Entra ID and some session hosts joined to an Active Directory domain.
3558

36-
- The Azure account that you use must have the following built-in role-based access control (RBAC) roles as a minimum on the resource group:
59+
::: zone pivot="host-pool-session-host-configuration"
60+
- The Azure account you use must have the following built-in role-based access control (RBAC) roles or equivalent as a minimum on the resource group:
61+
62+
| Action | RBAC role |
63+
|--|--|
64+
| Create and add session hosts using the Azure portal | [Desktop Virtualization Host Pool Contributor](rbac.md#desktop-virtualization-host-pool-contributor)<br />[Virtual Machine Contributor](../role-based-access-control/built-in-roles.md#virtual-machine-contributor) |
65+
66+
::: zone-end
67+
68+
::: zone pivot="host-pool-standard"
69+
- The Azure account you use must have the following built-in role-based access control (RBAC) roles or equivalent as a minimum on the resource group:
3770

3871
| Action | RBAC role or roles |
3972
|--|--|
4073
| Generate a registration key for the host pool | [Desktop Virtualization Host Pool Contributor](rbac.md#desktop-virtualization-host-pool-contributor) |
4174
| Create and add session hosts by using the Azure portal (Azure and Azure Extended Zones) | [Desktop Virtualization Host Pool Contributor](rbac.md#desktop-virtualization-host-pool-contributor)<br />[Virtual Machine Contributor](../role-based-access-control/built-in-roles.md#virtual-machine-contributor) |
4275
| Create and add session hosts by using the Azure portal (Azure Stack HCI) | [Desktop Virtualization Host Pool Contributor](rbac.md#desktop-virtualization-host-pool-contributor)<br />[Azure Stack HCI VM Contributor](/azure-stack/hci/manage/assign-vm-rbac-roles) |
4376

44-
Alternatively, you can assign the [Contributor](../role-based-access-control/built-in-roles.md#contributor) RBAC role.
45-
4677
- Don't disable [Windows Remote Management](/windows/win32/winrm/about-windows-remote-management) (WinRM) when you're creating and adding session hosts by using the Azure portal. [PowerShell DSC](/powershell/dsc/overview) requires it.
4778

4879
- To add session hosts on Azure Stack HCI, you also need:
@@ -66,15 +97,17 @@ For a general idea of what's required, such as supported operating systems, virt
6697
- If you want to use the Azure CLI or Azure PowerShell locally, see [Use the Azure CLI and Azure PowerShell with Azure Virtual Desktop](cli-powershell.md) to make sure you have the [desktopvirtualization](/cli/azure/desktopvirtualization) Azure CLI extension or the [Az.DesktopVirtualization](/powershell/module/az.desktopvirtualization) Azure PowerShell module installed. Alternatively, use [Azure Cloud Shell](../cloud-shell/overview.md).
6798

6899
> [!IMPORTANT]
69-
> If you want to create Microsoft Entra joined session hosts, we support this action only if you use the Azure portal with the Azure Virtual Desktop service.
100+
> If you want to create Microsoft Entra joined session hosts, we only support this using the [`AADLoginForWindows`](/entra/identity/devices/howto-vm-sign-in-azure-ad-windows) VM extension, which is added and configured automatically when using the Azure portal or ARM template with the Azure Virtual Desktop service.
101+
::: zone-end
70102

103+
::: zone pivot="host-pool-standard"
71104
## Generate a registration key
72105

73106
When you add session hosts to a host pool, first you need to generate a registration key for that host pool. A registration key authorizes session hosts to join the host pool. It's valid only for the duration that you specify.
74107

75108
To generate a registration key, select the relevant tab for your scenario and follow the steps.
76109

77-
# [Portal](#tab/portal)
110+
# [Azure portal](#tab/portal)
78111

79112
Here's how to generate a registration key by using the Azure portal:
80113

@@ -86,7 +119,7 @@ Here's how to generate a registration key by using the Azure portal:
86119

87120
1. On the host pool overview, select **Registration key**.
88121

89-
1. Select **Generate new key**, enter an expiration date and time, and then select **OK**.
122+
1. Select **Generate new key**, enter an expiration date and time, and then select **OK**. The registration key is created.
90123

91124
1. Select **Download** to download a text file that contains the newly created registration key, or copy the registration key to your clipboard to use it later. You can also retrieve the registration key later by returning to the host pool overview.
92125

@@ -95,6 +128,7 @@ Here's how to generate a registration key by using the Azure portal:
95128
Here's how to generate a registration key by using the [Az.DesktopVirtualization](/powershell/module/az.desktopvirtualization) Azure PowerShell module. In the following examples, be sure to change the `<placeholder>` values for your own.
96129

97130
[!INCLUDE [include-cloud-shell-local-powershell](includes/include-cloud-shell-local-powershell.md)]
131+
98132
2. Use the `New-AzWvdRegistrationInfo` cmdlet by using the following example to generate a registration key that's valid for 24 hours.
99133

100134
```azurepowershell
@@ -142,7 +176,29 @@ Here's how to generate a registration key by using the [desktopvirtualization](/
142176
```
143177

144178
---
179+
:::zone-end
180+
181+
::: zone pivot="host-pool-session-host-configuration"
182+
## Add session hosts
183+
184+
You can use the Azure portal to specify the number of session hosts you want to add, then Azure Virtual Desktop automatically creates them based on the session host configuration. You can't use PowerShell to add session hosts to a host pool with a session host configuration.
185+
186+
Here's how to add session hosts:
187+
188+
1. Sign in to the [Azure portal](https://portal.azure.com/).
189+
190+
1. In the search bar, type *Azure Virtual Desktop* and select the matching service entry.
191+
192+
1. Select **Host pools**, then select the name of the host pool you want to add session hosts to.
193+
194+
1. On the host pool overview, select **Session hosts**, then select **+ Add**.
195+
196+
1. For **Number of session hosts to be added**, enter the number of session hosts you want to create. If you want to review the session host configuration that is used, see **View session host configuration**. To edit the session host configuration, see [Schedule an update and edit session host configuration](session-host-update-configure.md#schedule-an-update-and-edit-a-session-host-configuration).
197+
198+
1. Select **Add**. The number of session hosts you entered is created and added to the host pool.
199+
::: zone-end
145200

201+
::: zone pivot="host-pool-standard"
146202
## Create and register session hosts with the Azure Virtual Desktop service
147203

148204
You can create session hosts and register them to a host pool in a single end-to-end process with the Azure Virtual Desktop service by using the Azure portal or an Azure Resource Manager template (ARM template). You can find some example ARM templates in [this GitHub repo](https://github.com/Azure/RDS-Templates/tree/master/ARM-wvd-templates).
@@ -257,7 +313,7 @@ Here's how to create session hosts and register them to a host pool by using the
257313

258314
If you created virtual machines by using an alternative method outside Azure Virtual Desktop, such as an automated pipeline, you need to register them separately as session hosts to a host pool.
259315

260-
To register session hosts to a host pool, you need to install the Azure Virtual Desktop Agent and the Azure Virtual Desktop Agent Bootloader on each virtual machine and use the registration key that you generated. You can register session hosts to a host pool by using the agent installers' graphical user interface (GUI) or by using `msiexec` from a command line.
316+
To register session hosts to a host pool, you need to install the Azure Virtual Desktop Agent and the Azure Virtual Desktop Agent Boot Loader on each virtual machine and use the registration key that you generated. You can register session hosts to a host pool by using the agent installers' graphical user interface (GUI) or by using `msiexec` from a command line.
261317

262318
After you finish, four applications are listed as installed applications:
263319

@@ -276,7 +332,7 @@ Select the relevant tab for your scenario and follow the steps.
276332

277333
1. Sign in to your virtual machine as an administrator.
278334

279-
1. Download the installation files for the agent and the agent boot loader by using the following links. If you need to unblock them, right-click each file, select **Properties**, select **Unblock**, and finally select **OK**.
335+
1. Download the installation files for the Agent and the Agent Boot Loader by using the following links. If you need to unblock them, right-click each file, select **Properties**, select **Unblock**, and finally select **OK**.
280336

281337
- [Azure Virtual Desktop Agent](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWrmXv)
282338
- [Azure Virtual Desktop Agent Bootloader](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RWrxrH)
@@ -304,13 +360,13 @@ You can use `msiexec` to install the agent and the boot loader from the command
304360

305361
1. Make sure the virtual machines that you want to use as session hosts are joined to Microsoft Entra ID or an Active Directory domain (Active Directory Domain Services or Microsoft Entra Domain Services).
306362

307-
1. If your virtual machines are running a Windows Server OS, you need to install the *Remote Desktop Session Host* role by running the following command as an administrator, which also restarts the virtual machines.
363+
1. If your virtual machines are running a Windows Server OS, you need to install the *Remote Desktop Session Host* role by running the following PowerShell command as an administrator, which also restarts the virtual machines.
308364

309365
```powershell
310366
Install-WindowsFeature -Name RDS-RD-Server -Restart
311367
```
312368

313-
1. Download the installation files for the agent and the agent boot loader, and unblock them by running the following commands. The files are downloaded to the current working directory.
369+
1. Download the installation files for the Agent and the Agent Boot Loader, and unblock them by running the following commands. The files are downloaded to the current working directory.
314370

315371
```powershell
316372
$uris = @(
@@ -354,6 +410,7 @@ You can use `msiexec` to install the agent and the boot loader from the command
354410
1. After the status of the session hosts is **Available**, restart the virtual machines.
355411

356412
---
413+
::: zone-end
357414

358415
## Post-deployment tasks
359416

0 commit comments

Comments
 (0)