在C#中区分同一客户端计算机上的两个用户

时间:2018-04-07 03:27:43

标签: c# networking remote-desktop

我想知道是否有办法区分同一台Windows Server客户端计算机上的两个用户?

我们有一些Windows Server计算机设置为允许并发用户。然后,这两个并发用户可以同时打开远程桌面(通过Microsoft RDC)。但是,我发现识别哪个客户端机器是变量%CLIENTNAME%的唯一方法。两个并发用户都将返回相同的客户端名称变量,因为他们使用同一Windows Server计算机的不同会话。

如果用户使用同一台机器,是否还有其他变量或方法来区分这两个用户?

1 个答案:

答案 0 :(得分:0)

您希望在远程会话中等效于SESSIONNAME,它通常看起来像RDP-Tcp#0和RDP-Tcp#1,还会有一个名为console的会话,它将是本地非远程会话。

在服务器上远程会话的命令提示符下运行此命令。

从%CLIENTNAME%

登录的回显%COMPUTERNAME %% USERDOMAIN %% USERNAME%%SESSIONNAME%

这会给你一个想法。

CLIENTNAME不会在本地会话中定义,因此您编写的任何代码都必须提供保护。

我不会使用Clientname,因为一个人可以从不同的客户端或台式PC开始和结束会话。