远程检查用户是否在计算机上工作

Joh*_*ohn 3 windows security remote

有没有办法远程检查用户是否在计算机上工作?(“psloggedon”只是让我知道用户已登录,没有别的)

小智 8

这取决于您对“在计算机上工作”的定义。

您可以使用tasklist /S命令连接到远程计算机并查看其上正在运行哪些进程,如果您知道要检查哪个用户,则可以将其与用户名过滤器结合使用:

C:\Documents and Settings\adam>tasklist /FI "USERNAME eq NTDOM\joe.bloggs" /S REMOTEPC

Image Name PID Session Name Session# Mem Usage
==================================================== ======================
rdpclip.exe 5808 RDP-Tcp#2 2 5,132 K
explorer.exe 656 RDP-Tcp#2 2 15,228 K
AClntUsr.EXE 6804 RDP-Tcp#2 2 4,252 K
cpqteam.exe 6244 RDP-Tcp#2 2 3,608 K
ctfmon.exe 4300 RDP-Tcp#2 2 3,448 K
ctfmon.exe 3780 RDP-Tcp#2 2 2,764 K
shstat.exe 6836 RDP-Tcp#2 2 788 K
cmd.exe 4168 RDP-Tcp#2 2 2,352 K
登录.scr 6360 RDP-Tcp#2 2 2,572 K

我可以看到“joe”正在运行哪些程序。其中之一是logon.scr,所以我猜他目前没有做太多事情。但是,他运行了 cmd.exe,所以他可能在某个时候在那里做一些事情。如果是 winword.exe (MS word) 或 excel.exe (MS Excel) - 我绝对不想远程重启他的计算机,即使 logon.scr 正在运行。他可能没有保存他所有的工作。

如果您不知道要查找哪个用户,您可以使用过滤器“USERNAME ne SYSTEM”。如果您正在编写此脚本,您可以从wmic ComputerSystem Get UserName的输出中获取用户名

如果你只是想知道用户是否忙于点击东西和按键,你可以使用 quser.exe:

C:\scripts>quser
 用户名 会话名 ID 状态 空闲时间 登录时间
>adam.thompson 控制台 1 活动 无 07/03/2012 11:42

不过,当会话是“控制台”时,我不确定 quser 中的空闲时间位有多准确,并且指的是实际坐在计算机上的用户(而不是使用带有 /console 开关的终端服务)。

使用 VNC 之类的东西来确定计算机上发生的事情时要小心。围绕此类事情存在隐私和(取决于您所在的位置)法律问题。