终端服务管理器().当前会话.客户端名称

本文关键字:会话 客户端 服务 管理器 终端 | 更新日期: 2023-09-27 18:36:23

我正在尝试找出哪些客户端使用远程桌面连接到我的机器。我读过关于Cassia和Cassia.TerminalServicesManager的文章,但我无法理解它......

我以为Cassia.TerminalServicesManager()。CurrentSession.ClientName 会给我一个客户端的名称,但如果还有更多呢?我看了参考资料,但我仍然感到困惑。有人可以帮助我吗?

谢谢

终端服务管理器().当前会话.客户端名称

听起来你正在寻找这样的东西:

var manager = new TerminalServicesManager();
using (var server = manager.GetLocalServer())
{
    server.Open();
    foreach (var session in server.GetSessions())
    {
        if (session.ConnectionState == ConnectionState.Active)
        {
            Console.WriteLine(session.ClientName);
        }
    }
}

ITerminalServicesManager.CurrentSession返回运行当前进程的会话。

默认情况下,

如果您使用远程桌面连接到 Windows 计算机,则会将本地用户启动,如果他们重新登录,则会将远程用户启动。如果已启用并发远程桌面会话,则可以同时连接多个用户。 我不熟悉Cassia,但也许你可以遍历所有调用Cassia.TerminalServicesManager()的会话。每次都有 CurrentSession.ClientName?