会话注销:强制终止 Windows Terminal Server 2008 及更高版本上的应用程序

会话注销:强制终止 Windows Terminal Server 2008 及更高版本上的应用程序

在纯基于 Windows 的终端服务器环境中,我正在寻找会话注销/超时后强制终止应用程序的方法。

使用 Citrix 服务时,我可以使用 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI 列出所有应立即终止的应用程序。但如果没有 Citrix,我根本不知道这是否可行。我希望有另一个注册表项可用于此目的?

背景信息:一些行为不当的驱动程序导致会话在注销后保持打开状态的时间更长。如果我们可以注册可以安全终止的应用程序,清理过程将更快地释放会话资源。在我们的 Citrix 环境中,这产生了巨大的影响,因此我们也在为我们的纯 Windows 环境寻找解决方案。

谢谢!

答案1

您可以通过设置自动结束任务注册表值为“1“(REG_SZ)。

默认值为“0“:

进程不会自动结束。系统将等待进程结束,如果进程所花的时间超过 HungAppTimeout 条目的值,则会出现“结束任务”对话框,指出应用程序无法响应“结束任务”请求。

您可以通过配置以下注册表值来调整超时:

正如@Frankenstein指出的那样,自动结束任务可能会终止程序,而不是保存对打开的文档的更改,有两点值得考虑:

  • 如果用户注销整个桌面会话而不保存其工作,这可能只是一个(潜在)问题。对于无缝应用程序,用户无法轻松触发注销过程,除非实际关闭其远程应用程序。
  • 即使冒着用户丢失打开文档的更改的风险(在我看来,这种风险很小),也要考虑不终止不响应关闭信号的应用程序所带来的管理影响。需要重新启动的计划维护(例如修补)可能会因用户未保存其 Word 文档而停滞。管理员启动的会话注销可能无法完成等。

从管理角度来看,我认为 AutoEndTasks 是必要的。如果您想为用户争取更多时间,可以配置 WaitToKillAppTimeout 注册表值。

答案2

你尝试过吗命令行实用程序用于远程桌面服务管理,例如...的英文翻译或者重置会话...

相关内容