为了节省服务器资源,我想启用一个 GPO,在一定时间段后终止断开的 RDP 会话。但是,有时我们可能想绕过此设置来完成一次性任务。
连接到 Server 2003 时,可以使用 /console(或 /admin,具体取决于您的 RDP 客户端版本)来实现此目的。如 GPO 设置信息中所述,这允许您绕过空闲超时设置:“如果您有控制台会话,则断开连接的会话时间限制不适用。”
但是,在 Server 2008 中,RDP 用户不再可以使用控制台会话,它仅限于服务。有没有什么解决方法?我们确实希望避免出现无限期中断的会话,但希望保留绕过一次性进程的能力,就像在 Server 2003 中一样。
答案1
我曾经在一个强制要求一分钟断开会话限制的环境中工作。这让我发疯了。我无法告诉你当我与服务器失去连接时,安装或配置在中间被终止了多少次。不过,我最终找到了一种解决方法。如下所示更改以下注册表值:
Key: HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
Value: MaxDisconnectionTime
Type: DWORD
Data: 0
这是策略“设置断开会话的时间限制”设置的值。它以毫秒值的形式存储。如果您在连接到服务器之前将其设置为零,则您的会话将不会断开。不过,完成后您需要将其改回。另外请记住,这通常要求您在主题服务器上拥有本地管理权限,但听起来您就是那里的管理员。
答案2
查看创建“服务”用户帐户并将其放入安全组中。
将 GPO 应用于安全组:Windows 组件/远程桌面服务/远程桌面会话主机/会话时间限制/设置为所需的时间。我认为如果您以上述“服务”用户身份连接,这将解决您的问题。
答案3
如果您在“用户配置”而不是“计算机配置”下配置这些设置,那么您可以在 GPO 上使用“安全过滤”使其仅适用于特定用户(在 GPO 中用作过滤器的安全组的成员)。