Ja, dieser Fehler bereitet vielen Nutzern von RDS auf Windows Server Probleme. Manchmal können sich Benutzer einfach nicht verbinden, weil der Dienst ausgelastet ist, und die Ursache ist nicht immer klar. Meistens liegt es an hängenden Sitzungen, Ressourcenengpässen oder einer Fehlkonfiguration. Die gute Nachricht: Es gibt einige brauchbare Möglichkeiten zur Fehlerbehebung. Erwarten Sie aber keine Wunderlösung von Microsoft – es geht hauptsächlich darum, die fehlerhaften Sitzungen zu beenden oder den Server wieder in Gang zu bringen. Ziel ist es, hängende Benutzersitzungen zu beenden, damit neue Verbindungen hergestellt werden können, ohne dass der gesamte Server jedes Mal neu gestartet werden muss. Das Verständnis der Ursache ist zwar hilfreich, aber oft reicht es schon, die Einstellungen zurückzusetzen, wenn etwas nicht funktioniert.
So beheben Sie Probleme mit einem ausgelasteten RDP-Dienst in Windows Server
Überprüfen Sie die Leistung des RDS-Hosts und die verfügbaren Ressourcen.
Das ist zwar offensichtlich, sollte aber trotzdem erwähnt werden. Wenn Ihr Server viel Arbeitsspeicher oder Festplattenspeicher belegt, kann das den RDS-Betrieb beeinträchtigen.Überprüfen Sie im Task-Manager die CPU-, RAM- und Festplattenauslastung, insbesondere auf dem Laufwerk, auf dem Windows installiert ist. Es sollten mindestens 1 GB RAM frei sein – mehr ist besser – und ausreichend freier Festplattenspeicher vorhanden sein. Schauen Sie außerdem in der Ereignisanzeige unter Windows-Protokolle > System nach kritischen Fehlern im Zusammenhang mit RDS oder Profildiensten. Wenn die Ressourcen knapp sind, sollten Sie alte Profile löschen, Protokolle verkleinern oder sogar die Hardware aufrüsten. Sobald ausreichend Ressourcen vorhanden sind, können Sie weitere Lösungsansätze in Betracht ziehen.
Zurücksetzen hängender Remotedesktopsitzungen auf RDS
Wenn Sie Benutzersitzungen ohne Benutzernamen und mit dem Status „ Getrennt “ entdecken, ist das ein Warnsignal. Diese hängenden Sitzungen können neue Anmeldungen blockieren, und in der Regel erscheint dann die Meldung „Beschäftigt“.Um sie zu finden, öffnen Sie den Task-Manager (auch auf dem Server, keine speziellen Tools erforderlich), wechseln Sie zum Tab „Benutzer“ und suchen Sie nach Sitzungen, die mit (4) gekennzeichnet sind oder keinen Benutzernamen haben. Klicken Sie mit der rechten Maustaste darauf und wählen Sie „ Abmelden“. Oft behebt dies das Problem. Manchmal hängen sich Sitzungen jedoch auf, weil Prozesse wie csrss.exe im Hintergrund laufen – die üblichen Verdächtigen bei solchen Problemen.
Wenn einfaches Abmelden nicht hilft, müssen Sie möglicherweise die Prozesse des Benutzers manuell beenden, insbesondere den in dieser Sitzung laufenden Prozess csrss.exe. So geht’s:
- Führen Sie den Befehl
query sessionin einer Eingabeaufforderung mit Administratorrechten aus, um alle aktiven Sitzungen aufzulisten. Suchen Sie die Sitzung ohne Namen oder mit der Nummer (4). - Notieren Sie sich die ID dieser Sitzung (z. B.2).
- Verwenden Sie diesen
query process /id 2Befehl, um die in dieser Sitzung laufenden Prozesse aufzulisten. Ermitteln Sie die Prozess-ID (PID) von csrss.exe, die beispielsweise 5140 lauten könnte. - Beenden Sie diesen Prozess:
taskkill /F /PID 5140. Dadurch wird der Prozess beendet, und die Sitzung wird normalerweise danach gelöscht.
Wiederholen Sie dies für alle hängenden Sitzungen. Witzigerweise funktioniert das bei manchen Konfigurationen nicht immer beim ersten Versuch einwandfrei, aber in den meisten Fällen reicht es aus, um die festsitzenden Sitzungen ohne Neustart zu lösen.
Um solche Probleme künftig zu vermeiden, empfiehlt es sich, Sitzungstimeouts per Gruppenrichtlinie festzulegen (siehe unten).Zudem kann die Aktivierung von Keep-Alive-Funktionen für Clientverbindungen verhindern, dass Sitzungen in den Zustand „getrennt“ geraten.
Benutzersitzungen über die Befehlszeile beenden
Falls der Server das Abmelden von Benutzern über den Task-Manager verweigert, können Sie es über die Befehlszeile versuchen.Öffnen Sie eine Eingabeaufforderung mit Administratorrechten und führen Sie folgenden Befehl aus:
query session
Hier werden alle aktiven Sitzungen aufgelistet. Um eine Sitzung zurückzusetzen, gehen Sie wie folgt vor:
reset session rdp-tcp#16
oder nach Sitzungs-ID:
reset session 3
Dadurch wird die Verbindung zum Benutzer zwangsweise getrennt und Ressourcen freigegeben. Auf manchen Servern, insbesondere wenn Sie diese remote verwalten, sollten Sie möglicherweise den Serverparameter „/“ hinzufügen :
reset session rdp-tcp#16 /server:yourserver
Denken Sie daran, dass dies die Sitzung ohne Vorwarnung *beendet* – gehen Sie weise damit um.
Lizenzierungseinstellungen prüfen und korrigieren
Wenn sich Benutzer anfangs problemlos verbinden können, dann aber plötzlich nicht mehr, könnte dies mit der Lizenzierung zusammenhängen.Überprüfen Sie, ob Ihr RDS-Lizenzserver korrekt konfiguriert ist, insbesondere wenn Fehlermeldungen bezüglich einer angeblichen RDS-Auslastung angezeigt werden.
Gehen Sie auf dem Server zu Server-Manager > Remotedesktopdienste > Sammlungs- oder Bereitstellungseigenschaften und überprüfen Sie die RD- Lizenzierungseinstellungen. Stellen Sie sicher, dass der richtige Lizenzserver angegeben ist.
Alternativ können Sie über Gruppenrichtlinien unter Computerkonfiguration > Richtlinien > Administrative Vorlagen > Windows-Komponenten > Remotedesktopdienste > Lizenzierung die Richtlinie „ Die angegebenen Remotedesktop-Lizenzserver verwenden“ festlegen und den Servernamen angeben. Wenn Sie den Lizenzserver gerade erst installiert haben, wird dieser Schritt oft übersprungen – genau dann treten beim dritten Benutzer oder später Fehler auf.
Prüfen Sie abschließend, ob der Lizenzmodus (pro Benutzer oder pro Gerät) Ihrer Konfiguration entspricht. Ohne die korrekte Lizenzierung können zusätzliche Verbindungen blockiert werden.
Maximale Verbindungsbeschränkung per Gruppenrichtlinie deaktivieren
Windows Server erlaubt standardmäßig unbegrenzte RDP-Verbindungen, sofern keine andere Richtlinie festgelegt ist. Um dies zu überprüfen oder zu ändern, führen Sie in einer Eingabeaufforderung mit Administratorrechten den Befehl `gpresult /H c:\gpresult.html` aus und öffnen Sie den Bericht in einem Browser. Suchen Sie nach „ Anzahl der Verbindungen begrenzen“.
- Wenn es keine solche Richtlinie gibt, dann kein Problem – unbegrenzte Verbindungen sind erlaubt.
- Falls vorhanden und mit einer Nummer versehen (z. B.2), erhöhen Sie diese oder deaktivieren Sie sie vollständig in gpmc.msc.
Führen Sie nach der Änderung einen neuen Befehl aus, gpupdate /forcedamit die neuen Richtlinien sofort wirksam werden. Dadurch werden fälschlicherweise „Server ausgelastet“ gemeldete Fehler aufgrund zu restriktiver Verbindungslimits vermieden.
Weitere Tipps, wenn nichts anderes hilft
Falls Ihr Server weiterhin Probleme bereitet – die Ressourcen scheinen in Ordnung zu sein, die Protokolle sehen sauber aus und das Zurücksetzen der Sitzungen hat nicht geholfen – finden Sie hier einige weitere Tricks, die möglicherweise funktionieren:
- Starten Sie den Remotedesktopdienst remote neu:
net stop termserviceundnet start termservice. Oder führen Sie dies über PowerShell durch:
Get-Service termservice -ComputerName YOURSERVER | Restart-Service
REG ADD "HKLM\SYSTEM\CurrentControlSet\control\Terminal Server\Winstations\RDP-Tcp" /v fQueryUserConfigFromLocalMachine /t REG_DWORD /d 1 /f
oder ähnliche Einträge unter HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services.
SeTokenDoesNotTrackSessionObjectkönnen zusätzliche Registry-Anpassungen wie beispielsweise dazu beitragen, verwaiste oder nicht mehr vorhandene Sitzungen zu entfernen.
Hoffentlich behebt das die Probleme mit der ausgelasteten RDS-Verbindung, zumindest bis Microsoft eine elegantere Lösung bereitstellt. Normalerweise geht es nur darum, hängende Sitzungen zu bereinigen und sicherzustellen, dass der Server nicht überlastet wird. Manchmal verhindert aber auch ein Neustart oder die Einrichtung von Sitzungstimeouts das Problem.