Mitunter möchte man Wissen, bevor man an einem Computer etwas aus der Ferne unternimmt, ob der Anwender gerade angemeldet bzw. genauer ausgedrückt vor dem Bildschirm sitzt oder nicht.
Ob generell ein Benutzer angemeldet ist, lässt sich einfach mit
query session
bzw.
query session /server:<Computer>
herausfinden:
SITZUNGSNAME BENUTZERNAME ID STATUS services 0 Getr. console sekretariat 1 Aktiv rdp-tcp 65536 Abhör.
Leider liefert diese Ausgabe nicht den Status der Konsolensitzung, den dort steht lediglich “Aktiv” ohne Angabe, ob die Konsole nun gesperrt ist oder nicht.
Hinweis: Steht beim Status “Verb.” ist jemand per Remotedesktopverbindung (RDP) mit dem System verbunden, diese Sitzung erscheint dann ebenfalls in der Ausgabe.
Ob die Konsole nun gesperrt ist lässt sich schlicht durch das Vorhandensein des Prozesses “logonui.exe” feststellen. Ist dieser Prozess vorhanden, ist die Konsole gesperrt, ist Dieser nicht vorhanden, ist die Konsole entsperrt.
Mit tasklist kann lokal wie auch remote nach diesem Prozess gesucht werden:
tasklist /s <Computer> /fi "IMAGENAME eq logonui.exe"
Die Ausgabe(n) sehen dann wie folgt aus:
C:\Users\administrator>tasklist /fi "IMAGENAME eq logonui.exe" Abbildname PID Sitzungsname Sitz.-Nr. Speichernutzung ========================= ======== ================ =========== =============== LogonUI.exe 852 Console 1 28.172 K C:\Users\administrator>tasklist /s pc03 /fi "IMAGENAME eq logonui.exe" INFORMATION: Es werden keine Aufgaben mit den angegebenen Kriterien ausgeführt.
Mit PsExec kann eine Abfrage so aussehen:
psexec64.exe \\pc03 tasklist | find /i "logonui.exe"
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Schreibe einen Kommentar