排查意外 RDS 会话锁定或断开连接问题

远程桌面服务(RDS)会话可以定期进入 锁定断开连接 状态。 在这种情况下,会话要求用户登录或重新连接到会话。 本文介绍如何排查意外锁定和断开连接时间间隔问题。

简介

RDS 可以具有以下状态:

  • 活动:用户当前已连接并与系统交互。
  • 空闲:用户已连接,但在特定时间段内未与服务器交互。
  • 已锁定:用户重定向到登录屏幕,但其会话保持活动状态,没有任何错误消息。
  • 断开连接:已断开用户与服务器的连接,然后 RDP 窗口通常会关闭并显示错误消息。 会话仍保留在服务器上运行。

在没有一致的计时模式的情况下发生的断开连接更有可能是由网络问题而不是配置设置引起的。

验证会话超时是否为断开连接

在 Windows 计算机上,配置 MaxIdleTime 或 MaxConnectionTime,RDS 会话在满足不同消息时断开连接。 其他 RDS 会话时间限制策略确定会话断开连接后的行为。

配置 为活动但空闲的 RDS 会话设置时间限制 为活动 RDS 会话设置时间限制
注册表(类型: REG_DWORD MaxIdleTime MaxConnectionTime
断开连接时的消息 远程桌面服务会话已结束,因为远程计算机未收到来自你的任何输入。 远程会话已结束,因为达到了总登录时间限制。 此限制由服务器管理员或网络策略设置。

可以使用以下两种方法来配置这些注册表值。

RDS 部署

应在管理 RDS 部署的服务器上的集合>属性任务>会话设置这些会话限制的默认配置。 通常,服务器是远程桌面连接代理。 然后,这些设置将应用于该集合中远程桌面会话主机的注册表。

注册表值位于 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp.

备注

  • 如果通过远程桌面网关(RDGW)连接到 RDS 部署,可以在 RDGW 管理器>策略>连接授权策略>超时选项卡中完成类似的配置。绕过 RDGW 的用户不会受到影响。
  • 会话超时断开连接消息不同于 MaxConnectionTime 设置导致的消息:由于达到了会话超时限制,连接已断开连接。

计算机和用户策略

应使用以下路径配置 gpedit.msc (本地)或 gpmc.msc (域级别)的计算机和用户策略:
管理模板 > Windows 组件 > 远程桌面服务 > 远程桌面会话主机 > 会话时间限制

策略配置应用于相应的注册表路径:

  • 计算机策略注册表路径: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
  • 用户策略注册表路径: HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows NT\Terminal Services

重要

  • 策略优先于默认配置。
  • 计算机策略优先于用户策略。
  • 注册表值以毫秒为单位表示。
  • 若要应用这些配置,用户必须重新连接或注销/打开。

验证会话超时是否为锁

在 Windows 计算机上,会话锁配置有两种不同的形式:

  1. 计算机 不活动限制 策略。
  2. 屏幕保护程序

如果配置了上述任何设置,则满足条件时会话将锁定。

重要

  • 策略优先于默认配置。
  • 这些配置会立即应用,但如果不适用,请要求用户重新连接或注销/打开。

计算机非活动限制策略

此策略只能在计算机级别配置,该值以秒为单位指定。 配置策略路径和相应的注册表路径为:

  • 策略路径: 计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 安全选项 - 交互式登录:计算机不活动限制

  • 注册表路径:Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - InactivityTimeoutSecs

    类型:REG_DWORD

屏幕保护程序

若要启用锁定会话的屏幕保护程序,必须配置三个类型的 REG_SZ 注册表值:

  • ScreenSaveActive - 启用(1)或禁用屏幕保护程序(0)。
  • ScreenSaverIsSecure - 受密码保护(1)或未受保护的 (0)。
  • ScreenSaveTimeOut - 在启动屏幕保护程序之前,用户空闲时间(以秒为单位)必须经过多少。

屏幕保护程序是用户配置。 可以使用屏幕保护程序设置控制台或使用策略来设置配置。

屏幕保护程序设置

若要在屏幕保护程序设置配置,请执行以下作:

  1. 打开命令提示符并运行以下命令以打开控制台:

    control desk.cpl,,1
    
  2. “屏幕保存程序 ”下拉列表框中选择。

  3. 定义超时。

  4. 选中“ 恢复时”,显示登录屏幕 复选框。

这些值在注册表路径中写入: Computer\HKEY_CURRENT_USER\Control Panel\Desktop

策略

必须将三个策略配置为启用屏幕保护程序: 启用屏幕保护程序密码保护屏幕保护程序以及 屏幕保护程序超时

配置策略路径和相应的注册表路径为:

  • 策略路径:用户配置>管理模板>控制面板>个性化
  • 注册表路径: Computer\HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop.

联系 Microsoft 支持

如果上述步骤无法解决问题,请在复制问题时在受影响的计算机上收集数据。 下载 TroubleShootingScript (TSS) 脚本 ,并在提升的 PowerShell 提示符上运行以下命令:

.\TSS.ps1 -Scenario UEX_RDSsrv -start  -UEX_Logon

有关详细信息,请参阅 使用 TSS 收集与用户体验相关的问题的信息。