例如,我有一个由4人使用的服务器,并且该服务器中只有一个帐户。 我们知道,当某人已经访问了另一个用户访问服务器时,当前用户将被断开连接。
有什么方法可以确定是否通过远程桌面连接访问服务器,以防止活动用户的不必要的中断。
这适用于以下操作系统:Windows Server 2008,Windows Server 2008 R2,Windows Server 2012和Windows Vista尝试此命令
query session [<SessionName> | <UserName> | <SessionID>] [/server:<ServerName>] [/mode] [/flow] [/connect] [/counter]
这应该产生如下的结果;
C:\>query session SESSIONNAME USERNAME ID STATE TYPE DEVICE >console Administrator1 0 active wdcon rdp-tcp#1 User1 1 active wdtshare rdp-tcp 2 listen wdtshare 4 idle 5 idle
资源
希望这可以帮助。
编辑:关于netstat的答案,但是你运行,你明确更好的运行qwinsta。
编辑:qwinsta可以在远程服务器上运行。 我推荐以上PsLoggedOn有几个原因。
你可以使用PsExec(来自PsTools ,就像psexec.exe \\remote -u remote_username -p remote_passwd cmd.exe
来获得一个远程shell并运行quser或者qwinsta来枚举活动会话, 你需要admin,我相信文件共享on(它使用默认的C $ / ADMIN $,某些家庭实例没有),这在工作组环境上更麻烦一些。
我可能会错过更简单的事情,比如quser可以在另一台服务器上运行(可能不适合这个用例),或者你可以直接运行quser而不是首先获得一个shell(你可能可以),但是我会添加一旦有人testing了它或者在评论中告诉我。
Windows Server平台支持多个并发RDP会话(通常最多两个会话),并会在用户尝试连接到已达到其最大值的服务器时警告用户。 因此,您所描述的情况可以完全避免,只需为每个人创build单独的用户帐户 – 这是一个安全的最佳做法。
没有个人用户帐户,你当然会遇到像这样的资源共享问题。 但是,您也不能单独pipe理用户权限,也不能在事件日志中告诉另一个人。
即使在非服务器平台上(例如:Windows 7,Windows 8.1,Windows 10等),如果您拥有单独分配的用户帐户,您的scheme也不会成为问题。 这些平台一次只允许一个会话处于活动状态。 当一个RDP用户连接,并且已经有一个活动的会话时,三件事情之一将会发生:
这就是说,下面是对现有答案的一些评论以及我自己的build议:
“杰伊剧情”和迈克尔·贝利本质上是一样的。 QWINSTA
和QUSER
都是QUERY
实用程序的快捷方式,分别用于SESSION
和USER
函数。 这些可以使用/computer:
参数在远程计算机上运行,因此可以在实际连接之前检查系统。
jas的build议本身并不是对你有用,因为它要求你已经连接到远程系统,并且在你这样做之前你想要检查它。 但是,如果您使用PsExec(由Michael Baileybuild议)运行它,则可以完成您要执行的操作。 有更好的方法来完成你所需要的,使用内置工具以及Microsoft提供的其他工具。
如果你已经有PsTools,我会build议尝试PsLoggedOn而不是用PsExec和Netstat。 PsLoggedOn可以远程运行,并显示RDP会话和远程文件系统或registry连接。 远程运行PsLoggedOn的语法是:
PsLoggedOn \\servername
其他有用的资源:
SS64
PsLoggedOn
查询用户/查询者
查询会话/ Qwinsta
PSEXEC
用netstat
的TechNet
PsTools
从命令提示符。
请注意在ESTABLISHED状态的端口3306上侦听的TCP本地地址为外部地址192.168.2.205
C:\Users\foo>netstat -anp tcp Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:554 0.0.0.0:0 LISTENING TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING ... TCP 10.0.0.248:3306 192.168.2.205:48156 ESTABLISHED ... TCP 192.168.130.1:139 0.0.0.0:0 LISTENING TCP 192.168.233.1:139 0.0.0.0:0 LISTENING