查看给定计算机上的活动远程桌面连接

d--*_*--b 15 windows rdp

我正在寻找一种工具来了解用户是否正在远程访问本地网络上的给定计算机,理想情况下我想知道该用户是谁.在我的公司,我们共享虚拟机,如果他们使用任何远程计算机,我们必须要求团队成员.我想有一些仪表板可以告诉我正在使用什么电脑,以及什么电脑是免费的.

我很乐意使用任何需要在每台需要监控的机器上安装服务的商业解决方案或类似的东西.

jef*_*eff 25

如果您从加入与您查询的系统相同的域的Windows客户端查询,并且可能需要标准域用户之外的某些权限,则下面的操作会更容易.如果您遇到身份验证/权限问题,那将是我要检查的第一件事.

有一种工具至少可以追溯到Windows XP,称为"qwinsta".更高版本的Windows同时具有qwinsta和"查询会话".

qwinsta /server:computer01
 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
 console                                     0  Conn    wdcon
 rdp-tcp                                 65536  Listen  rdpwd
                   administrator             2  Disc    rdpwd
Run Code Online (Sandbox Code Playgroud)

这表示用户"管理员"已登录但已断开连接.由于在此示例中,computer01是具有默认"管理"RDP许可证的Windows Server 2003系统,因此会有第二个会话侦听某人进行连接.

连接到先前断开连接的会话后再次运行相同的命令如下所示:

 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
[unchanged output removed]
 rdp-tcp#25        administrator             2  Active  rdpwd
Run Code Online (Sandbox Code Playgroud)

这足以回答"当前通过RDP活动的人",如果您使用的是个人用户名,它也应该回答"谁".如果你们都在使用"testuser"或"管理员"或其他东西,你可能想知道"来自客户"的答案,而上面没有给出.

以上提供了快速的基本答案,无需其他工具.有关更多详细信息,您可以查看cassia库PSTerminalServices(基于cassia构建).有关更多详细信息,请参阅此问题中的一些答案.

我首先想到的是使用Sysinternals工具,如PsLoggedOnLogonSessions.然后我在2003年的博客文章中找到了对以前未知的qwinsta和rwinsta工具的引用.