有没有办法确定用户是否通过远程桌面登录


6

我想确定当前登录用户是否通过远程桌面登录时物理上在计算机上登录。

如果有帮助的话,我可以将它限制在Windows 7中。

对于以编程方式或手动方式确定此问题的答案,我也很好,尽管我最终会更喜欢程序化的答案。


2
“我最终会更喜欢程序化的答案” - 然后你就错了,StackOverflow会更适合代码请求。
Karan 2013年

1
@Karan我原本也这么认为,但我认为这对任何Windows用户都有用。
chollida 2013年

一个你有这个信息你正在做什么,它会影响你可以做什么作为一个解决方案(如果问题是“我想知道我刚刚走过的计算机是否在终端会话中”答案可能是简单的“将鼠标移动到屏幕的顶部中间,并关闭远程桌面会话栏显示”
Scott Chamberlain 2013年

同样如此,你的问题将因为过于宽泛和虚荣而被关闭。你想检查你的用户吗?您是否想要查看服务器上的用户是通过控制台还是通过RDP连接?应用程序是否在计算机上运行Wtsapi32.dll(只有服务器版本)
Scott Chamberlain

Answers:


2

如果您安装了cygwin,以下解决方案将起作用。如果您在控制台上运行,则运行此脚本可以输出“console”,如果在rdp会话中运行,则输出“rdp”:

#!/斌/庆典
#返回'rdp'或'console'
current_session_line =`查询会话| grep'^>'$ t | sed -e's /> //'`
current_session_type =`echo $ current_session_line | sed -e's / [ - ]。* //'`

echo $ current_session_type

嗯,我的解决方案假设Windows可执行query.exe在您的路径上。在我的一个win7框中,query.exe在c:\ windows \ system32中可用,但在另一个上它无处可寻。不确定哪个windows组件带来了query.exe。
user319027

5

您可以通过Users选项卡确定用户是本地登录还是远程登录Task Manager

Client Name JAN-PC显示连接源自何处

在此输入图像描述

您还可以使用CLI查看当前RDP会话,这些会话可以在远程计算机上运行时没有问题。

C:\>query session /?

查询会话输出的示例>>

在此输入图像描述

有关从CLI管理远程桌面服务的全面信息。


1

当您通过远程桌面登录时,当前登录的用户是Switched Out


2
这取决于设置人...
WeloSefer 2013年

如果设置了多用户远程桌面,那么您将不会被踢。在标准的消费者PC设置上,您将被踢到锁定屏幕并显示“从RANDOM-PC登录”。
Sam

1

对于Windows 2000及更高版本,您可以在任务管理器中查看。您可以按Ctrl+ Shift+ Escape进行启动,然后单击“用户”选项卡。如果您看到“控制台”列出,则会登录到物理机。如果他们显示为Disconnected,他们不再积极参与系统。如果它显示诸如RDP-001计算机名称之类的内容,则它们将通过远程桌面登录

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.