如何查询到使用mstsc远程连接的会话有哪些仍未中断呢?

比如说:我是用windows账号通过mstsc远程到了主机A上,但结束时我只是关闭了远程会话窗口,如果主机A不关机,我的windows账号依然会挂在主机A上面

这里会出现一种情况,当我远程到十几台电脑后,有一些注销了,另一些则没有所以有什么方法可以看到我用windows账号登录到了哪些ip/hostname上 且 这些会话是目前还未中断的?

补充:
我登录的主机或者虚拟机都是静态ip,数量会比较多,我不知道自己远程过其中的哪些,根据qwinsta查询只能获取当前主机的登录状况吧,应该不能满足我的使用需求

你可以使用powershell脚本来查询你的windows账号登录的所有主机的ip/hostname及连接会话的状态,下面是一个示例脚本:


```shell
# Get all active mstsc session
$TSSessions = qwinsta /server:*

# Iterate through the array
foreach ($TSession in $TSSessions)
{
    # Get only the active sessions
    if($TSession -match "Active")
    {
        # Get the IP/Hostname
        $ServerIP = $TSession.split()[2]
        # Get the session name
        $SessionName = $TSession.split()[3]
        # Get the session state
        $SessionState = $TSession.split()[4]

        # Output the info
        Write-Host "IP/Hostname


```

可以使用Windows自带的工具查看,在命令行中输入qwinsta,可以查看到当前连接到主机的远程会话的详细信息,其中包括远程会话的IP地址、用户名等信息,可以查看到目前还未中断的会话。

或者

可以使用命令行工具query.exe来查询。
在命令提示符窗口中输入以下命令:
query session

这将显示所有当前会话,其中包括用mstsc远程连接的会话。您可以使用“ID”列中的会话ID来识别远程会话,并使用“STATE”列来确定会话是否仍处于活动状态。

在 Windows 操作系统中,可以使用以下方法查询已经使用 mstsc 远程连接的会话是否仍未中断:

打开 Task Manager:按 Ctrl + Shift + Esc 或者在开始菜单中搜索 "Task Manager"。

在 Task Manager 中点击 "Users" 标签:该标签将显示所有当前使用该计算机的用户。

在用户列表中查找你的用户名:如果你的用户名已经标识为 "远程会话",则说明你的远程会话仍未中断。

对于要查询的每台电脑,都需要重复上述步骤,以查看你的用户名是否标识为 "远程会话"。

如果你是在网络环境中使用多台计算机,你可以使用以下方法查询每台计算机上是否有未中断的远程会话:

在命令提示符中输入以下命令:qwinsta

检查命令输出:如果 "状态" 列中显示为 "Active",则说明该远程会话仍未中断。

  1. 使用查询命令query session查看会话状态。

  2. 使用命令net session查看会话状态。

  3. 使用远程桌面管理器查看会话状态。

  4. 使用远程桌面管理器的“系统管理”菜单中的“连接会话”来查看会话状态。

  5. 使用Windows PowerShell命令Get-RDSession来查看会话状态。