This article guides you through creating a Session Time Limits profile in Nerdio Manager and assigning it to host pools. A Session Time Limits profile defines when active, idle, and disconnected sessions are disconnected or logged off. You create the profile once and reuse it across as many host pools as you need, which keeps session behavior consistent and removes the need for a separate Group Policy object or per-host registry change. For an overview of all host pool profile types, see Manage host pool profiles.
Session Time Limits profiles apply to pooled and personal host pools, and to full desktop and RemoteApp sessions. To configure session time limits for a single host pool without creating a profile, see Configure User Session Time Limits.
Windows enforces session time limits through Remote Desktop Services (RDS) policy settings. If these limits are not managed, active and disconnected sessions accumulate and hold session host capacity, which increases cost and can prevent auto-scale from scaling in.
Nerdio Manager exposes these policy settings as a named, reusable profile. The profile is stored centrally, assigned to host pools, and applied to session hosts through local policy. Session state itself is managed by the Windows operating system rather than by Nerdio Manager.
Every setting in the profile defaults to Not configured. A setting that is left as Not configured is not enforced by the profile, and existing image or Group Policy behavior continues to apply. Console sessions are excluded from active, idle, and disconnected session time limits.
You need a Nerdio Manager role that allows you to create and edit host pool profiles.
Before you create the profile:
-
Decide whether timed-out sessions should be disconnected or logged off entirely.
-
Identify which host pools will use the profile, and whether they serve full desktops, RemoteApp, or both.
-
Agree on values with application owners. A forced logoff can end work that has not been saved.
-
Plan to pilot the profile on a non-production host pool before you assign it more broadly.
To create a Session Time Limits profile:
-
Navigate to Cloud Desktops > Azure Virtual Desktop > Host Pool Profiles.
-
Select New profile > Session Time Limits.
The Session Time Limits Profile dialog box opens, with all time limit settings set to Not configured.
-
Enter the following information:
-
Profile name (required): Enter a name that identifies the intended audience or behavior, for example Pooled - Standard Timeouts or RemoteApp - Aggressive Logoff.
-
Profile description (optional): Record the intended use, the owner, and any change-control reference, so that the profile is self-documenting in the profile list.
-
-
For each setting, select the required interval from the drop-down list, or leave the setting as Not configured to take no action on that policy. For details of each setting, see Session time limit settings.
-
Select OK to save the profile. Select Cancel to discard it without saving.
Result: The profile is saved and appears in the Host Pool Profiles list.
A saved profile has no effect until you assign it. Assign the profile to the target host pools as described in Manage host pool profiles. When you assign the profile, you can choose whether to apply the change to existing session hosts, whether to restart those hosts, and whether to run the task now or on a schedule. For details of these options, see Apply Host Changes Without Re-Imaging.
Note
Applying time limits to existing hosts is a host-level operation. Schedule it outside business hours where possible, and process hosts in small groups so that a failure does not affect the whole pool.
The following table summarizes each setting in the profile and what happens when it is left as Not configured. For the full description of each setting, see Configure User Session Time Limits.
|
Setting |
What it does |
When Not configured |
|---|---|---|
|
Disconnect ACTIVE sessions after |
Disconnects a session after this total elapsed time, regardless of user activity. The user receives a warning two minutes before the session disconnects, which allows them to save open files and close programs. |
Active sessions run indefinitely. |
|
Disconnect IDLE sessions after |
Disconnects a session after this time with no keyboard or mouse input. The user receives a warning two minutes before the session disconnects, which allows them to press a key or move the mouse to keep the session active. |
Idle sessions are never disconnected. |
|
Force logoff |
Ends an active or idle session that has timed out, instead of disconnecting it. This setting applies only to time-out limits that you set explicitly. It does not apply to time-outs caused by connectivity or network conditions. |
Timed-out sessions are disconnected, not logged off. |
|
Log off DISCONNECTED sessions after |
Logs off a disconnected session after this time in a disconnected state. Running programs in a disconnected session stay active until the session is logged off. To keep disconnected sessions indefinitely, select Never. |
Disconnected sessions are retained indefinitely. |
|
Log off empty RemoteApp sessions after |
Sets a time limit for empty RemoteApp sessions. An empty RemoteApp session is a session that has no open RemoteApp windows. |
The session is disconnected but not logged off. |
Note
The active, idle, and disconnected session time limits do not apply to console sessions.
-
Start with the disconnected and idle limits. They reclaim the most capacity with the least impact on users.
-
Leave Disconnect ACTIVE sessions after as Not configured unless a compliance or licensing requirement demands a hard session cap. An active session limit interrupts users who are working.
-
Set the disconnected-session logoff limit so that disconnected sessions do not linger through a full working day.
-
Enable Force logoff only after you confirm that the applications in the session save work reliably, and after you communicate the change to users.
-
Configure the RemoteApp limit on RemoteApp host pools only. It has no effect where users receive full desktops.
-
Align the time limits with your auto-scale settings. A host that still holds disconnected sessions cannot be scaled in.
-
Create separate profiles for separate workloads rather than one profile with compromise values, and use the profile description to record why each value was chosen.
-
Pilot the profile on one host pool and confirm the behavior on the session hosts before you assign it more broadly.
After you assign the profile, check the following:
-
The profile appears in the Host Pool Profiles list with the expected values.
-
The profile is assigned to the intended host pools.
-
The task that applies the profile to existing hosts completed without failures.
-
On a session host, the effective Remote Desktop Services session time limit policy matches the profile.
-
A test session that you leave idle past the configured limit shows the two-minute warning, followed by the expected disconnect or logoff.
-
After a full business day, session counts show that disconnected sessions are clearing as expected.
The following table lists common issues with Session Time Limits profiles and suggested actions.
|
Symptom |
Likely cause |
Action |
|---|---|---|
|
Limits do not take effect on some hosts. |
The change was not applied to existing hosts, or those hosts were not restarted. |
Run the apply operation against the existing hosts again, and include a restart. |
|
Sessions disconnect but never log off. |
Force logoff is Not configured, or no disconnected-session logoff limit is set. |
Set Log off DISCONNECTED sessions after. If sessions should end when they reach the limit, also enable Force logoff. |
|
Users report losing unsaved work. |
Force logoff is enabled with a short active or idle limit. |
Relax the limit, or disconnect sessions instead of logging them off, and confirm how your applications save work. |
|
The RemoteApp limit appears to do nothing. |
The host pool delivers full desktops, or the session still has an open RemoteApp window. |
Confirm that the pool is a RemoteApp pool and that the session is empty. |
|
Auto-scale is not scaling in. |
Disconnected sessions are still held on the hosts. |
Shorten the disconnected-session logoff limit and confirm that it is applied to all hosts in the pool. |
|
A console session ignores the limits. |
This is expected behavior. |
None. Active, idle, and disconnected limits do not apply to console sessions. |
A pooled host pool of task workers runs from 07:00 to 19:00, and auto-scale is not scaling in overnight. A profile named Pooled - Task Worker sets Disconnect IDLE sessions after to 1 hour and Log off DISCONNECTED sessions after to 2 hours. It leaves Disconnect ACTIVE sessions after and Force logoff as Not configured, so idle users are disconnected rather than logged off.
Sessions that are idle for an hour disconnect after a two-minute warning, and are logged off two hours later. This frees the hosts for scale-in well before the next shift.
Raise a support ticket for this item.
Comments (0 comments)