Nur die „aktiven“ Remote-Desktop-Sitzungen abrufen

Nur die „aktiven“ Remote-Desktop-Sitzungen abrufen

Unter Windows kann ich Remotedesktopsitzungen auf einem bestimmten Server wie folgt abrufen:

qwinsta /server:SERVER_NAME

Dadurch erhalte ich jedoch Sitzungen in allen möglichen Zuständen (z. B.: Aktiv, Disc, ...).

Kennt jemand einen Befehl, eine Batchdatei oder ein Skript, um nur die „aktiven“ Sitzungen abzurufen? Ich möchte es von einem normalen Windows 7-Client aus ausführen können.

Antwort1

qwinsta /server:SERVER_NAME | find /I "Active"

Beachten Sie, dass dies nur ein schneller Einzeiler ist, der einfach jede Zeile ausspuckt, die "Active" (in Klein- oder Großbuchstaben) enthält. Wenn Sie Benutzernamen erwarten, die diese Zeichenfolge enthalten, wird es komplizierter und Sie müssen die vierte Spalte auf die korrekte Zeichenfolge "Active" überprüfen:

for /F "usebackq tokens=1,2,3,4,5*" %i in (`qwinsta /server:SERVER_NAME ^| find "Active"`) do if "%l" == "Active" ( echo %i %j %k %l %m )

Wenn Sie ohnehin einzelne Felder der Ausgabe verarbeiten müssen, ist die letztere Form vorzuziehen, da dabei die Felder in den %i...- %mVariablen verfügbar gemacht werden.

Diese Konstruktion funktioniert jedoch auch nicht, wenn Ihre Benutzernamen Leerzeichen enthalten. In diesem Fall ist mit qwinsta alles verloren und Sie sollten stattdessen nach einer PowerShell-Funktion suchen, um die Benutzerliste abzurufen.

verwandte Informationen