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-Key: 7689132069

Url: https://administrator.de/contentid/7689132069

Printed on: April 27, 2024 at 13:04 o'clock

Member: emeriks
emeriks Jun 29, 2023 at 16:06:04 (UTC)
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.
Member: supertux
supertux Jun 29, 2023 at 16:38:40 (UTC)
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.
Member: DarkZoneSD
DarkZoneSD Jun 29, 2023 at 19:25:28 (UTC)
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
Mitglied: 7426148943
7426148943 Jun 29, 2023, updated at Jun 30, 2023 at 10:24:18 (UTC)
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