Remote Desktop Service: Session von Benutzer hängt
Mittlerweile funktionieren die Remote Desktop Services (früher Terminalserver) von Microsoft relativ gut und fehlerfrei. Trotzdem kann es in seltenen Fällen passieren, dass sich ein Benutzer nicht mehr abmelden kann. Die Session hängt und daher ist auch eine Neuanmeldung nicht mehr möglich. Im Normalfall reicht es aus, wenn man den Benutzer entweder über den Connection Broker oder direkt über den Task-Manager am jeweiligen Session host abmeldet. Sollte das nicht funktionieren, bleiben nur noch zwei Optionen: den betroffenen Session Host neustarten oder die Benutzersitzung gewaltsam schließen. In einer produktiven Umgebung mit Dutzenden anderen angemeldeten Usern ist ein Neustart vermutlich keine Option.
Benutzer über Connection Broker abmelden
Wie bereits erwähnt, reicht es in den meisten Fällen aus, den Benutzer über den Connection Broker abzumelden. Der Broker ist jener Server, welcher die Benutzer auf die verschiedenen Session Hosts verteilt. Bei einer Single-Server Installation ist der Broker auch zeitgleich der Session Host. Bei Terminalserverfarmen hingegen, sollte diese Rolle ein eigenständiger Server übernehmen, der nur für die Verteilung der Sessions zuständig ist. Um einen User darüber abzumelden reicht es, den Server-Manager und die jeweilige Collection aufzurufen. Dort sollte unter Connections die fehlerhafte Session aufscheinen und diese kann per Rechtsklick -> Disconnect abgemeldet werden.
Benutzer mittels qwinsta abmelden
Sollte der oben genannte Weg über den Connection Broker nicht funktionieren und das Neustarten des Servers keine Option sein, dann bleibt nur noch der Weg mit der Brechstange. Dazu öffnet man am jeweiligen Host eine Eingabeaufforderung als Administrator und führt folgenden Befehl aus:
C:\Users\administrator>qwinsta /server:server_name SESSIONNAME USERNAME ID STATE TYPE DEVICE services 0 Disc console 1 Conn rdp-tcp#98 user01 23 Active rdp-tcp#91 user02 39 Active rdp-tcp#75 user03 40 Active rdp-tcp#19 user04 41 Active rdp-tcp#26 user05 42 Active rdp-tcp#84 user06 43 Active rdp-tcp#93 user07 44 Active
Anschließend kann die Session gekillt werden:
C:\Users\anexia>rwinsta /server:server_name 23
Danach sollte sich der Benutzer wieder anmelden können. Noch ein kurzer Einblick in die Bedeutung der Befehle:
- qwinsta: Query Windows Station – gibt alle verfügbaren (active/inactive) Sessions eines Servers zurück
- rwinsta: Reset Windows Station – setzt die Session zurück
beendet die RDP-Session UND meldet den User komplett ab. Gibt es auch eine Möglichkeit nur die Session zu trennen ohne das des User komplett abgemeldet wird und seine offene Arbeit verliert?
Funktioniert der Weg über den Task-Manager -> Benutzer -> Trennen nicht? Damit wird die Session nur geschlossen, der Nutzer aber nicht vollständig abgemeldet. Beim nächsten Logon sind also alle zuvor geöffneten Programme wieder verfügbar.