3

Есть ли способ удаленно проверить, работает ли пользователь за компьютером? ("psloggedon" просто сообщает мне, что пользователь вошел в систему и больше ничего)

2 ответа2

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
logon.scr                     6360 RDP-Tcp#2                  2      2,572 K

Я могу видеть, какие программы "Джо" работает. Один из них - 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
 USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
>adam.thompson         console             1  Active      none   07/03/2012 11:42

Я не уверен, насколько точен бит IDLE TIME в quser, когда сеанс является «консольным» и относится к пользователю, физически сидящему за компьютером (в отличие от использования служб терминалов с переключателем /console).

Будьте осторожны с использованием таких вещей, как VNC, чтобы определить, что происходит на компьютере. Существует конфиденциальность и (в зависимости от того, где вы находитесь) юридические проблемы вокруг таких вещей.

1

Одним из способов было бы настроить VNC-сервер на этом компьютере, удаленно войти на него и просто наблюдать за активностью экрана. Я использую UltraVNC для чего-то подобного.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .