supertux
Goto Top

Terminalserver User bzw. Session ermitteln

Hallo,

ich würde gerne mit einer Windows CMD-Batch abfragen, ob ein User (aktiv, im Leerlauf oder getrennt) ist.
Einige User klicken oft nur auf das X in der Leiste, statt sich richtig abzumelden.

@echo Bitte Benutzername eingeben
set /p RDPUsername=

query user %rdpusername% oder query session %rdpusername%

Es sollte wenn eine Session (aktiv,leerlauf,getrennt) existiert eine Abfragen (j/n) angezeigt werden, ob der Benutzer
abgemeldet werden soll. Die Sessions-ID sollte man ermitteln und in eine Variable schreiben, dann kann der User mit
logoff %session_id% abgemeldet werden kann.

Vielen Dank
---
supertux

Content-ID: 7689132069

Url: https://administrator.de/forum/terminalserver-user-bzw-session-ermitteln-7689132069.html

Ausgedruckt am: 22.12.2024 um 11:12 Uhr

emeriks
emeriks 29.06.2023 um 18:06:04 Uhr
Goto Top
Hi,
sowas kann man doch über die RDP-Einstellungen erreichen. Entweder per Server (RDP Protokoll) oder per Benutzerobjekt (Reiter "Sitzungen" --> "getrennte Sitzung beenden").

E.
supertux
supertux 29.06.2023 um 18:38:40 Uhr
Goto Top
Zitat von @emeriks:

sowas kann man doch über die RDP-Einstellungen erreichen. Entweder per Server (RDP Protokoll) oder per Benutzerobjekt (Reiter "Sitzungen" --> "getrennte Sitzung beenden").

Ja, schon...aber die Batch führt noch andere Punkte durch.
Deshalb wollte ich das in eine Durchgang haben.
DarkZoneSD
DarkZoneSD 29.06.2023 um 21:25:28 Uhr
Goto Top
Moin moin,

blöde Frage, aber warum über batch und nicht Powershell?

Das Get-PSSession cmdlet sollte zumindest bei Powershell ein recht simples skript darauß machen..

Grüße

Flo
7426148943
7426148943 29.06.2023, aktualisiert am 30.06.2023 um 12:24:18 Uhr
Goto Top
Powershell Script Angemeldete User und ClientPC

Skript zum Prüfen ob Benutzer angemeldet sind

@echo off & setlocal enabledelayedexpansion
echo Aktuelle Benutzer:
echo.
set "cnt=1"  
for /f "tokens=1-5" %%a in ('query user ^|findstr /il "Aktiv Getr."') do (  
  set "user!cnt!=%%c"  
  echo    [!cnt!] %%a , STATUS:%%d , LEERLAUF:%%e
  set /a cnt+=1
)
echo.
echo    [x] Exit
echo.
:ask
set /p "answer=Bitte die Nummer des Users angeben der abgemeldet werden soll:"  
if /i "%answer%" == "x" goto :eof  
if "!user%answer%!" == "" goto :ask  
echo Logoff user mit ID:!user%answer%!
logoff !user%answer%!

Zeppel