![如何确保用户退出远程桌面会话而不是仅仅关闭 RDP 窗口?](https://linux22.com/image/1307772/%E5%A6%82%E4%BD%95%E7%A1%AE%E4%BF%9D%E7%94%A8%E6%88%B7%E9%80%80%E5%87%BA%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E4%BC%9A%E8%AF%9D%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BB%85%E4%BB%85%E5%85%B3%E9%97%AD%20RDP%20%E7%AA%97%E5%8F%A3%EF%BC%9F.png)
我们有许多服务器,我们的工程师可以通过远程桌面连接到这些服务器,但每台服务器的连接数限制为 2。我们经常尝试通过 RDP 连接到这些服务器,然后会看到“此计算机已超出最大连接数”消息。
这很麻烦,因为我们已经向这些用户发送了多封电子邮件,但他们始终不明白。
我知道如何连接到根控制台并启动用户,但我宁愿不这样做。我还知道有办法在一段时间后启动非活动会话,我也不想这样做。
我想强迫用户学习他们需要注销。如果您手动注销,则不会发生这种情况(而且手动注销很麻烦)。如果您只是手动注销,这些工程师将毫不犹豫地保持 RDP 会话连接,因为这对他们来说很方便。
我希望有某种通知系统,通过电子邮件或 NET SEND 消息通知不顾他人感受的用户其帐户已与计算机断开连接。这样,他们就会意识到自己做错了。更好的是,如果他们多次违规,我希望他们的帐户被锁定,直到系统管理员解锁。
有没有办法实现让用户手动退出的目标?欢迎提出任何建议。
答案1
您可以使用远程桌面会话主机配置工具或(更好的)组策略来定义有关 RDP 断开连接的规则。
如果您使用组策略和 OU,您将能够允许某些用户保持“断开连接”并强制其他用户在断开连接后注销。
具体请查看这些政策分支:
- 计算机配置\策略\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\会话时间限制
- 用户配置\策略\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\会话时间限制
还有如下政策:
结束断开的会话
指定断开连接的用户会话在 RD 会话主机服务器上保持活动状态的最长时间。如果指定“从不”,则用户断开连接的会话将无限期保持。
当会话处于断开连接状态时,即使用户不再主动连接,正在运行的程序仍保持活动状态。
。
当达到会话限制或连接中断时
指定在达到活动会话限制或空闲会话限制时是否断开连接或结束用户的远程桌面服务会话。
如果用户的会话断开连接,即使用户不再主动连接,用户正在运行的程序仍保持活动状态。
如果用户会话结束,用户将需要与 RD 会话主机服务器建立新的远程桌面服务会话。
欲了解更多信息,请查看此页面来自 MS关于 RDP 断开连接策略。
答案2
不确定这会有多大帮助,但值得一看使用 VNC 查看器. 可以设置为当最后一个查看者断开连接时注销。
然后,您可以通过阻止机器上的 RDP 端口来强制用户使用 VNC。
答案3
对于通知系统,我想你必须使用以下 API 来开发它:WTSEnumerateSession。
这意味着开发类似于 Windows 服务的东西,它会定期查询您的服务器以搜寻断开连接的会话,并使用它们执行您想做的事情。
这可能需要你花很多天的时间才能完成。
否则,我建议用另一种方法解决这个问题:
- 在服务器上设置两组 rdp 用户:TrustedDisconnectors 和 UntrustedDisconnectors。
- 为 UntrustedDisconnectors 设置一个策略,使得它们的会话在较短的断开连接超时时间内注销。
- 沟通该变更。声明工程师经常无正当理由而无法正常断开连接,将不再允许在未注销的情况下断开连接。