Skip to content

Commit 06cfd99

Browse files
authored
Merge pull request #277705 from dknappettmsft/avd-preferred-app-group-type
AVD preferred application group type behavior
2 parents a9e121d + 46bf272 commit 06cfd99

File tree

6 files changed

+258
-39
lines changed

6 files changed

+258
-39
lines changed

articles/virtual-desktop/TOC.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,9 @@
138138
href: store-fslogix-profile.md
139139
- name: Applications
140140
items:
141+
- name: Preferred application group type
142+
displayName: applications, apps
143+
href: preferred-application-group-type.md
141144
- name: App attach
142145
displayName: applications, apps, msix app attach, app attach, app packages, appx packages
143146
href: app-attach-overview.md
@@ -306,6 +309,9 @@
306309
- name: MSIXMGR tool parameters
307310
displayName: msix app attach, app attach, applications, apps, appx packages, app packages
308311
href: msixmgr-tool-syntax-description.md
312+
- name: Set preferred application group type
313+
displayName: applications, apps, host pool properties
314+
href: set-preferred-application-group-type.md
309315
- name: Specific applications
310316
items:
311317
- name: Use Microsoft Teams

articles/virtual-desktop/deploy-azure-virtual-desktop.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ Here's how to create a host pool using the Azure portal.
129129
| Host pool name | Enter a name for the host pool, for example **hp01**. |
130130
| Location | Select the Azure region where you want to create your host pool. |
131131
| Validation environment | Select **Yes** to create a host pool that is used as a [validation environment](create-validation-host-pool.md).<br /><br />Select **No** (*default*) to create a host pool that isn't used as a validation environment. |
132-
| Preferred app group type | Select the preferred [application group type](environment-setup.md#app-groups) for this host pool from *Desktop* or *RemoteApp*. A Desktop application group is created automatically when using the Azure portal, with whichever application group type you set as the preferred. |
133-
| Host pool type | Select whether you want your host pool to be Personal or Pooled.<br /><br />If you select **Personal**, a new option appears for **Assignment type**. Select either **Automatic** or **Direct**.<br /><br />If you select **Pooled**, two new options appear for **Load balancing algorithm** and **Max session limit**.<br /><br />- For **Load balancing algorithm**, choose either **breadth-first** or **depth-first**, based on your usage pattern.<br /><br />- For **Max session limit**, enter the maximum number of users you want load-balanced to a single session host. |
132+
| Preferred app group type | Select the [preferred application group type](preferred-application-group-type.md) for this host pool from *Desktop* or *RemoteApp*. A Desktop application group is created automatically when using the Azure portal. |
133+
| Host pool type | Select whether you want your host pool to be Personal or Pooled.<br /><br />If you select **Personal**, a new option appears for **Assignment type**. Select either **Automatic** or **Direct**.<br /><br />If you select **Pooled**, two new options appear for **Load balancing algorithm** and **Max session limit**.<br /><br />- For **Load balancing algorithm**, choose either **breadth-first** or **depth-first**, based on your usage pattern.<br /><br />- For **Max session limit**, enter the maximum number of users you want load-balanced to a single session host. For more information, see [Host pool load balancing algorithms](host-pool-load-balancing.md) |
134134

135135
> [!TIP]
136136
> Once you've completed this tab, you can continue to optionally create session hosts, a workspace, register the default desktop application group from this host pool, and enable diagnostics settings by selecting **Next: Virtual Machines**. Alternatively, if you want to create and configure these separately, select **Next: Review + create** and go to step 9.
Loading
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: Preferred application group type behavior for pooled host pools in Azure Virtual Desktop
3+
description: Learn how setting a preferred application group type for pooled host pools determines the desktops and applications users can connect to.
4+
ms.topic: concept-article
5+
author: dknappettmsft
6+
ms.author: daknappe
7+
ms.date: 06/07/2024
8+
---
9+
10+
# Preferred application group type behavior for pooled host pools in Azure Virtual Desktop
11+
12+
An application group is a logical grouping of applications that are available on session hosts in a host pool. Application groups control whether a full desktop or which applications from a host pool are available to users to connect to. An application group can only be assigned to a single host pool, but you can assign multiple application groups to the same host pool. Users can be assigned to multiple application groups across multiple host pools, which enable you to vary the applications and desktops that users can access.
13+
14+
When you create an application group, it can be one of two types:
15+
16+
- **Desktop**: users access the full Windows desktop from a session host. Available with pooled or personal host pools.
17+
18+
- **RemoteApp**: users access individual applications you select and publish to the application group. Available with pooled host pools only.
19+
20+
With pooled host pools, you can assign both application group types to the same host pool at the same time. You can only assign a single desktop application group with a host pool, but you can also assign multiple RemoteApp application groups to the same host pool.
21+
22+
Users assigned to multiple RemoteApp application groups assigned to the same host pool have access to an aggregate of all the applications in the application groups they're assigned to.
23+
24+
To help prevent users from connecting to a desktop and RemoteApp application at the same time from application groups assigned to the same host pool, pooled host pools have the setting **Preferred application group type**. This setting determines whether users have access to the full desktop or RemoteApp applications from this host pool in Windows App or the Remote Desktop app, should they be assigned to an application group of each type to the same host pool.
25+
26+
> [!IMPORTANT]
27+
> Users who have access to both a desktop application group and RemoteApp application group assigned to the same host pool only have access to the type of applications from the application group determined by the preferred application group type for the host pool. It doesn't prevent a user from having access to the full desktop and RemoteApp applications from different host pools, or different users from having access to different application group types from the same host pool.
28+
29+
You must specify the preferred application group type for a host pool at the point of creation. Additionally, when creating a host pool using the Azure portal there are two default behaviors, which don't happen when creating a host pool using a different method, such as Azure PowerShell or Azure CLI. These default behaviors are:
30+
31+
- The default preferred application group type selected using the Azure portal is **Desktop**. You can change this setting when you create the host pool or after the host pool is created.
32+
33+
- A desktop application group is automatically created and assigned to the host pool, regardless of whether you select the preferred application group type as **Desktop** or **RemoteApp**. The name of the application group is formed of the host pool name with the suffix `-DAG`, for example `hp01-DAG`. You can remove this application group after the host pool is created if you only want to use RemoteApp applications. You can only have one desktop application group associated with a host pool at a time.
34+
35+
## Enforcing a preferred application group type
36+
37+
Previously, host pools could be created without a preferred application group type set. In this scenario, a user who has access to both a desktop application group and RemoteApp application group assigned to the same host pool has access to both sets of resources in Windows App or the Remote Desktop app. If that user connects to a desktop and a RemoteApp application from those application groups at the same time, they can end up with two different sessions to the same host pool.
38+
39+
To prevent this scenario, set the preferred application group type for each host pool to either **Desktop** or **RemoteApp**. To learn how to set the preferred application group type, see [Set the preferred application group type for a pooled host pool in Azure Virtual Desktop](set-preferred-application-group-type.md).
40+
41+
For host pools that still don't have a preferred application group type set, where a user has access to both a desktop application group and RemoteApp application group assigned to the same host pool, Windows App or the Remote Desktop app now only shows the desktop resource. The **Desktop** preferred application group type is enforced. Windows App or the Remote Desktop app doesn't show the RemoteApp applications from the RemoteApp application group.
42+
43+
> [!IMPORTANT]
44+
> The enforcement of the **Desktop** preferred application group type for host pools that don't have a preferred application group type set is currently rolling out to all Azure regions.
45+
46+
It's still possible to connect to both the desktop and RemoteApp applications from the same host pool using the [ms-avd:connect URI scheme](uri-scheme.md) regardless of the preferred application group type, but we don't recommend this approach. If a user ends up with two different sessions to the same host pool, it can cause a negative experience and session performance for that user and other users, including:
47+
48+
- Session hosts become overloaded
49+
- Users get stuck when trying to sign in
50+
- Connections to a remote session aren't successful
51+
- The remote session turns black
52+
- Applications crash
53+
54+
## Expected behavior
55+
56+
Here's a matrix of the expected behavior for the resources users see in Windows App or the Remote Desktop app based on the preferred application group type setting of a host pool, the application groups assigned to the host pool and their type, and user assignments to the application groups:
57+
58+
| Application group types assigned to a single host pool | User assigned to application group types | Host pool preferred application group type setting | Resources shown |
59+
|--|--|--|--|
60+
| Desktop only | Desktop | Desktop or RemoteApp | Desktop |
61+
| RemoteApp only | RemoteApp | Desktop or RemoteApp | RemoteApp applications |
62+
| Desktop and RemoteApp | Desktop | Desktop or RemoteApp | Desktop |
63+
| Desktop and RemoteApp | RemoteApp | Desktop or RemoteApp | RemoteApp applications |
64+
| Desktop and RemoteApp | Both desktop and RemoteApp | Desktop | Desktop |
65+
| Desktop and RemoteApp | Both desktop and RemoteApp | RemoteApp | RemoteApp applications |
66+
| Desktop and RemoteApp | Both desktop and RemoteApp | None | Desktop |
67+
68+
## Example scenarios
69+
70+
Here are some example scenarios that show how the preferred application group type setting affects which types of remote resources are shown to users.
71+
72+
### Scenario 1
73+
74+
In this scenario, a desktop application group and a RemoteApp application group are assigned to the same host pool `hp01`. User Tim is in the *finance* security group, which is assigned to the desktop application group. User Gabriella is in the *legal* security group, which is assigned to the RemoteApp application group.
75+
76+
The preferred application group type for host pool `hp01` isn't relevant as users in the finance security group only have access to the desktop application group and users in the legal security group only have access to the RemoteApp application group. In Windows App or the Remote Desktop app, Tim is shown the desktop, and Gabriella is shown the RemoteApp applications.
77+
78+
### Scenario 2
79+
80+
In this scenario, a desktop application group and a RemoteApp application group are assigned to the same host pool `hp01`. User Tim is in the *finance* security group, which is assigned to the desktop application group. User Gabriella is in the *legal* security group, which is assigned to both the desktop and RemoteApp application groups.
81+
82+
The preferred application group type for host pool `hp01` is set to **Desktop**. In Windows App or the Remote Desktop app, both Tim and Gabriella are shown the desktop. Gabriella isn't shown any RemoteApp applications.
83+
84+
### Scenario 3
85+
86+
In this scenario, a desktop application group is assigned to host pool `hp01` and a RemoteApp application group is assigned to host pool `hp02`. User Tim is in the *finance* security group and user Gabriella is in the *legal* security group. Both security groups are assigned to the desktop application group and RemoteApp application group.
87+
88+
The preferred application group type for host pool `hp01` is set to **Desktop** and the preferred application group type for host pool `hp02` is set to **RemoteApp**. In Windows App or the Remote Desktop app, Tim and Gabriella are shown both desktop and RemoteApp applications.
89+
90+
## Next step
91+
92+
To learn how to set the preferred application group type, see [Set the preferred application group type for a pooled host pool in Azure Virtual Desktop](set-preferred-application-group-type.md).

0 commit comments

Comments
 (0)