我已经在我们用作服务器的工作中设置了一个win xp机器,以允许RDP连接。这允许我们的所有员工在需要时从家中访问服务器。由于它不是服务器操作系统,因此我们缺少常规服务器所具有的许多终端服务功能。该机器一次只允许一个RDP会话(这是一个小小的不便,但不是什么大不了的事)。
令人烦恼的是,没有人能够判断服务器当前是否正在RDP会话中使用,并且我们都会继续相互启动。我在网上找到的每个解决方案都假定远程计算机是服务器操作系统或本地网络/域。我们员工的家用电脑没有连接到办公室网络,我们也没有在办公室设置域名。
在从家里远程连接到服务器之前,有没有办法判断服务器是否在RDP会话中?理想情况下,我们将能够检测哪台家用计算机正在访问服务器。但如果这是不可能的,至少知道RDP会话正在运行将是非常有帮助的。
我们之前使用的是logmein,它可以告诉我们远程计算机键盘和鼠标是否处于活动状态,并允许与当前远程计算机上的用户进行聊天。这非常方便,但涉及登录logmein网站并经历一个半长的连接过程。它也慢得多,分辨率比RDP差很多。不适合日常使用。
这篇文章涉及同一个问题 https://superuser.com/questions/313390/ways-to-check-if-user-is-active-on-remote-machine-before-rdping
但是接受的响应是在cmd上使用qwinsta,我认为这只能在服务器操作系统上使用。其他响应包括使用psexec(我尝试使用psloggedon.exe,但这似乎只适用于同一域上的用户)。另一个建议使用wmic.exe命令,但当我尝试我得到错误:RPC服务器不可用(我认为这也需要在同一个域上运行)。
基本上 - 有没有办法从不在本地网络/域上的远程计算机上检查win xp机器上的活动rdp会话?
非常感谢任何帮助/建议。我打开了开箱即用的解决方案,比如写一个简单的应用程序在xp服务器上运行,并告诉远程机器在RDP会话中连接了什么IP。
答案 0 :(得分:0)
根据Harry Johnston的建议,我写了一个应用程序,找到谁在端口3389上连接到xp机器,并通过udp将这些信息转发给接收应用程序。现在我们可以在无意中启动它们之前检查某人是否已连接以及它是谁。谢谢哈利!