服务器08 RDP:可能警告,如果相同的用户已连接?

目前我们在一台服务器2008 R2机器上进行一些RDP帐号(pipe理员)的开发和监控工作,因为每个人都需要共享同一个实例来保证一致性。 问题是,当一个人连接并且离开工作时,如果其他人试图使用相同的账户进行连接,则将启动第一个人并将控制权交给第二个人。 唯一的警告来得太晚,当第一个人收到一条消息说:“另一个用户连接到远程计算机,所以你的连接丢失”。

是否有任何已知的方法来警告传入的用户有人已经连接(类似于您使用不同帐户时可能获得的消息types),还是允许受害者select不被引导?

对你来说一些坏消息:当你要login到现有的会话时,没有办法让RDP警告你。 它只会警告当你要通过RDPlogin,而另一个用户已经login。 悲伤的脸


等等…使用远程脚本可能在理论上是可能的。 您可以使用query命令和user选项来获取已login用户的列表。 然后,您可以search您感兴趣的用户名,并查看ACTIVE标签是否在STATE列中。 从那里,如果用户未login,则可以调用.rdp文件,如果用户login,则可以发送警告对话框。

这是自制的,但它应该工作。

来自我的一个Windows服务器的示例:

 C:\Users\BigKahuna>query user USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME >BigKahuna rdp-tcp#0 1 Active . 3/26/2012 6:51 PM 

这个vbs脚本可以用来避免用相同的用户名login到一个windows服务器:

 Set objShell = WScript.CreateObject("WScript.Shell") Set p = objShell.Exec("qwinsta /server:serverName") Do While p.Status = 0 WScript.Sleep 100 Loop If InStr(p.StdOut.ReadAll, "Active") <= 0 then objShell.Run("mstsc C:\Users\username\Documents\Default.rdp") 

它真的只是检查是否有任何活跃的用户,但知道你的用户名,你可以修改最后一行专门检查它。