Batch um Benutzer aus Sitzung abzumelden
Hallo Zusammen,
ich suche nach einer Lösung, wie ich auf einem Windows-Terminalserver 2008 R2 und 2012 R2 einem Benutzer da Recht geben kann einen anderen Benutzer Zwangsabzumelden! Hintergrund ist, dass auf den TS eine Anwendung läuft, die sich leider hin und wieder so aufhängt und einfriert, dass alles einfriert! Dann Hilft es nur noch dass ich dann über den Admin Oberfläche den Benutzer abmelde!
Der Benutzer hat zwar selbst einen Button auf dem Desktop, wo eine Batch mit shutdown /l /f hinter steckt, jedoch kommt er dann da nicht daran, wenn die Sitzung einfriert! Nun meine Überlegung, dass auf dem Nachbar Terminal-Client ein Button hinkommt mit einem Befehl die Benutzersitzung abzumelden.
Ja natürlich weiß ich, dass dies ein Krücke ist und auch gefahren dabei sind, jedoch bin ich hier von einem anderen Dienstleister abhängig, der das Problem erst mal in den Griff bekommen muss in der Software!
Wie ich eine Batch als Admin ausführe bzw. mit dem Adminkonto, stellt sich hier nicht als Problem da, eher die Syntax, ich denke an so was ca.:
shutdown -t 5 -IpDesTS -BenutzerZumAbmelden /l /f
Geht das überhaupt?
Danke
ich suche nach einer Lösung, wie ich auf einem Windows-Terminalserver 2008 R2 und 2012 R2 einem Benutzer da Recht geben kann einen anderen Benutzer Zwangsabzumelden! Hintergrund ist, dass auf den TS eine Anwendung läuft, die sich leider hin und wieder so aufhängt und einfriert, dass alles einfriert! Dann Hilft es nur noch dass ich dann über den Admin Oberfläche den Benutzer abmelde!
Der Benutzer hat zwar selbst einen Button auf dem Desktop, wo eine Batch mit shutdown /l /f hinter steckt, jedoch kommt er dann da nicht daran, wenn die Sitzung einfriert! Nun meine Überlegung, dass auf dem Nachbar Terminal-Client ein Button hinkommt mit einem Befehl die Benutzersitzung abzumelden.
Ja natürlich weiß ich, dass dies ein Krücke ist und auch gefahren dabei sind, jedoch bin ich hier von einem anderen Dienstleister abhängig, der das Problem erst mal in den Griff bekommen muss in der Software!
Wie ich eine Batch als Admin ausführe bzw. mit dem Adminkonto, stellt sich hier nicht als Problem da, eher die Syntax, ich denke an so was ca.:
shutdown -t 5 -IpDesTS -BenutzerZumAbmelden /l /f
Geht das überhaupt?
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 332893
Url: https://administrator.de/forum/batch-um-benutzer-aus-sitzung-abzumelden-332893.html
Ausgedruckt am: 20.04.2025 um 07:04 Uhr
15 Kommentare
Neuester Kommentar


Lese sie mit FOR-Schleife aus QWINSTA oder query user aus , gibts hier im Forum schon Batchcode für, Suche benutzen ...
for /f "skip=1 tokens=2" %%a in ('query user maxmuster') do logoff "%%a"
das stimmt so nicht. Das hat dich in sofern weiter gebracht, als das du jetzt weißt, das sich /l und /m nicht kombinieren lassen und du mit dem Befehl auf dem Holzweg bist.
Ein kurzes "remote logoff" in Google eingegeben hätte dich dann zu einer Lösung gebracht.
Gruß Krämer
Ein kurzes "remote logoff" in Google eingegeben hätte dich dann zu einer Lösung gebracht.
Gruß Krämer

Ich blicke im Moment nicht mehr durch...
Ist doch oben schon fertig (%%a) %%a enthält den zweiten Token der Zeile (tokens=2) und das ist hier auf einem deutschen System der Sitzungsname.
Minimal mit der Kommandozeile sollte man sich schon beschäftigen, wenn man es hier schon auf dem Silbertablett bekommt!

Zitat von @zeroblue2005:
Ja verstehe ich schon, aber:
for /f "skip=1 tokens=2" %%a in ('query user maxmuster') do logoff "%%a"
Funktioniert nicht er sucht den User und findet ihn dann auch aber er meldet ihn nicht ab! %%a greift nicht!
Was zeigt dir der Befehl Ja verstehe ich schon, aber:
for /f "skip=1 tokens=2" %%a in ('query user maxmuster') do logoff "%%a"
Funktioniert nicht er sucht den User und findet ihn dann auch aber er meldet ihn nicht ab! %%a greift nicht!
query user <deinuserdendusuchst>
in einer Konsole an? (Bitte hier rein pasten, aber bitte mit Codetags!)Obiger Befehl geht hier testweise einwandfrei auf einem deutschen System. Kann sein das du bei dir ein anderes Token nehmen musst , je nachdem an welcher Stelle der Zeile bei dir der Sessionname steht.
Ich habe die Zeile in eine Test.bat kopiert, und ausgeführt!
Korrekt obige Zeile war für eine Batch gedacht (siehst du ja an den doppelten Prozentzeichen, für das Testen auf der Konsole müssen die natürlich durch einfache ersetzt werden!!).aber er meldet ihn nicht ab!
Die Rechte müssen dem Account natürlich vorher erteilt worden sein.
Na dann, geht hier beides einwandfrei ob ich nun die ID wie hier im u.a. Skript verwende oder den Sitzungsnamen
for /f "skip=1 tokens=3" %%a in ('query user "test.user"') do logoff %%a