如果启用了“保持连接”功能,则无法重启远程桌面服务

本文提供了一个解决方案,用于解决以下问题:如果启用了 Keep-Alive,则无法重启远程桌面服务(终端服务)。

原始 KB 数: 2507353

现象

如果在 Windows Server 2008(或 Windows Server 2008 R2)服务器上启用了 RDP 保持活动功能,则手动停止远程桌面服务(Windows Server 2008 R2)或终端服务服务(Windows Server 2008)将使服务器保持不稳定状态:重启服务不会重新启用 RDP 功能,并且服务器将在关闭期间挂起。

原因

如果启用了 Keep-Alive,则“保持活动”线程由远程桌面服务(终端服务)服务启动,但它在内核模式下运行,因此在服务停止时无法自动结束。

解决方法

如果启用了 RDP 保持活动机制,请勿尝试停止或重新启动远程桌面服务(终端服务)。

详细信息

启用 Keep-Alive 并停止远程桌面服务(终端服务)服务时,其svchost.exe进程将保留在任务列表中,即使报告服务已正确停止。 再次启动服务时,将启动新的svchost.exe,但服务器不接受传入的 RDP 连接,因为 TermDD 驱动程序状态不一致。

组策略可以启用 Keep-Alive 功能:

  • Windows Server 2008 R2

    计算机配置\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\连接

    配置保持连接连接间隔

  • Windows Server 2008

    计算机配置\管理模板\Windows 组件\终端服务\终端服务器\连接

    配置保持连接连接间隔

若要直接在注册表中配置,请执行以下操作:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
"KeepAliveInterval"=dword:00000001
"KeepAliveEnable"=dword:00000001