![远程桌面:“登录时运行这些程序”和“连接时启动以下程序”之间有什么区别?](https://linux22.com/image/675668/%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%EF%BC%9A%E2%80%9C%E7%99%BB%E5%BD%95%E6%97%B6%E8%BF%90%E8%A1%8C%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E2%80%9D%E5%92%8C%E2%80%9C%E8%BF%9E%E6%8E%A5%E6%97%B6%E5%90%AF%E5%8A%A8%E4%BB%A5%E4%B8%8B%E7%A8%8B%E5%BA%8F%E2%80%9D%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我的组织正在运行终端服务器场,以便为用户提供特定应用程序。该设置包括一个 AD 域控制器和两个运行远程桌面服务的终端服务器。所有服务器都运行 Windows Server 2008 R2 Standard。
用户不在我们的组织内,因此客户端配置不在我们的范围之内。我们只会为他们提供一个 RDP 连接文件和一个存储在 AD 中的用户名。在 RDP 文件中,我们配置了"Start the following program on connection" = C:\path\to\batchscript.bat
。当用户连接时,批处理脚本会进行一些清理和配置工作,然后启动实际应用程序。用户完成工作后关闭应用程序。当应用程序关闭时,用户将被注销,RDP 会话结束。
在第一个用户升级到 Windows 10 之前,此设置一直运行良好。显然,在 Windows 10 中该选项"Start the following program on connection"
已被删除mstsc.exe
,用户只能回到终端服务器的桌面,而不能启动我们的批处理脚本。
为了防止这种情况,我设置了以下 GPO:。User Configuration \ Admin Templates \ System \ Logon \ Run these programs at logon = C:\path\to\batchscript.bat
据我所知,这应该会覆盖客户端的"Start the following program on connection"
设置。实际上,批处理脚本会运行并启动应用程序。一切都按预期运行,只是应用程序关闭时用户不会被注销,只留下一个完全空白的桌面屏幕。
显然,GPO与设置"Run these programs at logon"
不对应。mstsc.exe
"Start the following program on connection"
这两者有什么区别?是否有其他 GPO 的功能与该设置完全相同mstsc.exe
?
答案1
与 RDS 会话的每个新连接都是不必要新的登录。用户经常会重新连接到现有会话。
您可以通过配置会话在断开连接的状态下经过一段时间后注销来实现这一点,但这会产生很多影响,具体取决于您尝试使用 RDS 实现的目标。