Zdalnie sprawdź, czy użytkownik pracuje na komputerze

3

Czy istnieje sposób na zdalne sprawdzenie, czy użytkownik pracuje przy komputerze? („psloggedon” informuje mnie tylko, że użytkownik jest zalogowany i nic więcej)

Jan
źródło
2
„działający” oznacza, że ​​chcesz wiedzieć, czy użytkownik jest zalogowany, porusza myszą, ma jakiś (specjalny) program, pisze na klawiaturze lub…?
woliveirajr
1
serverfault.com/q/36223/77238
William Jackson,

Odpowiedzi:

8

To zależy od twojej definicji „pracy” na komputerze.

Możesz użyć polecenia tasklist / S, aby połączyć się ze zdalnym komputerem i zobaczyć, które procesy na nim działają, i możesz połączyć to z filtrem dla nazwy użytkownika, jeśli wiesz, którego użytkownika sprawdzić:

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

Nazwa obrazu Nazwa sesji PID Sesja nr Wykorzystanie pamięci
========================= ======== ================ = ========== ============
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 3448 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

Widzę, które programy „Joe” są uruchomione. Jednym z nich jest logon.scr, więc myślę, że obecnie niewiele robi. Jednak ma uruchomiony program cmd.exe, więc prawdopodobnie w pewnym momencie coś tam robił. Gdyby to, powiedzmy, program winword.exe (MS word) lub excel.exe (MS Excel) - zdecydowanie nie chciałbym ponownie uruchamiać komputera ponownie, nawet jeśli logon.scr był uruchomiony. Mógł nie uratować całej swojej pracy.

Jeśli nie wiesz, którego użytkownika szukasz, możesz użyć filtra „USERNAME ne SYSTEM”. Jeśli piszesz ten skrypt, możesz wziąć nazwę użytkownika z danych wyjściowych wmic ComputerSystem Get UserName .

Jeśli chcesz tylko wiedzieć, czy użytkownicy są zajęci klikaniem i naciskaniem klawiszy, możesz użyć programu quser.exe:

C: \ scripts> quser
 NAZWA UŻYTKOWNIKA NAZWA SESJI ID STAN CZAS BEZCZYNNOŚCI CZAS LOGOWANIA
> konsola adam.thompson 1 Aktywny brak 07/03/2012 11:42

Nie jestem jednak pewien, jak dokładny jest bit IDLE TIME, gdy sesja jest „konsolowa” i odnosi się do użytkownika fizycznie siedzącego przy komputerze (w przeciwieństwie do korzystania z usług terminalowych z przełącznikiem / console).

Ostrożnie korzystaj z takich rzeczy jak VNC, aby określić, co dzieje się na komputerze. Istnieje prywatność i (w zależności od tego, gdzie jesteś) wątpliwości prawne dotyczące takich rzeczy.

Adam Thompson
źródło
Z mojego doświadczenia quserwynika, że ​​CZAS BEZCZYNNOŚCI nie jest dokładny, niestety.
Twisty Impersonator
1

Jednym ze sposobów byłoby skonfigurowanie serwera VNC na tym komputerze, zdalne zalogowanie się na nim i po prostu obserwowanie aktywności ekranu. Używam UltraVNC do czegoś podobnego.

Will M.
źródło
2
Myślę, że chodzi o to, aby przed połączeniem sprawdzić, czy ktoś używa komputera. To oczywiste, gdy ktoś łączy się z VNC.
user2924019,