当用户本地登录时如何阻止远程桌面登录?

当用户本地登录时如何阻止远程桌面登录?

我有几台 Windows 机器(XP 和 7),我想允许用户使用远程桌面(rdp,从任何源 win、mac、linux 等)远程登录。如果其他人尚未登录。

目前有两种行为(如果我没记错的话,“1”对应 win 7,“2”对应 xp):

  1. 登录的用户未经警告就被踢出
  2. 询问用户“您想踢出已登录的人吗?”

我想将其更改为以下内容:

  • 如果本地用户已登录,则说“本地用户已登录,请离开”
  • 如果远程用户已经登录,则询问“您是否要踢出远程用户?”

以上内容对于本地或远程的所有登录尝试都应相同。登录的用户是通用用户,即登录的用户和已登录的用户是同一用户。

这个答案非常接近我想要做的(等待时间非常长)。我该如何在实践中做到这一点(xp 和 7)?

防止远程桌面在 Windows 7 上踢出当前用户

编辑:

进步...当用户登录时,如何禁用远程桌面连接到 Windows 7 的 30 秒延迟?

编辑2:

更多进展...在 Windows 7/XP 中,Remote\username 是否与 ComputerName\username 或 username 相同?

所以基本上,我必须检查 %userdomain% 是什么,并根据该内容修改登录启用/禁用(或时间延迟以使行为更柔和一些)...我将在下周尝试。

答案1

使用组策略编辑器,浏览到:

Administrative Templates\Windows components\Remote desktop services\Remote desktop session host\Connections

寻找设置远程桌面服务用户会话的远程控制规则并给予通过用户许可进行完全控制在选项列表中。

因此,当有人尝试登录时,将提示本地用户确认。并且它应该适用于每次登录尝试。

答案2

这是不可能的。Windows 7 是一个消费者操作系统,而不是终端服务器。

虽然有组件来实现这一点,但这只是故事的一小部分。要知道软件开发不仅仅是代码。首先,微软必须测试配置以及在其下运行的应用程序。如果应用程序试图写入相同的注册表项怎么办?在终端服务器上,这很容易。在消费者操作系统上,这是不可预测的。如果一个用户决定启动一个占用所有本地资源的应用程序怎么办。你如何解决这个问题?

更糟糕的是,如果出现错误,可能会导致系统崩溃,甚至更糟的是,悄无声息地损坏数据。在这个你可以因为提供热咖啡而起诉别人的世界里,这是一种不必要的风险。

在最好的情况下,你需要破解它。在最坏的情况下,你不得不意识到你没有为终端服务器付费。

答案3

在 Windows 机器上启用/禁用登录(我知道它适用于 2K+ 和 win7,不确定 XP 是否适用)

更改登录/禁用

更改登录/启用

您可以围绕这些构建一些脚本来完成您想要的操作。

但要小心,如果您在远程工作并被 DC 控制,则必须有人在本地登录到机器才能重新启用登录。

相关内容