Terminal Server has exceeded the maximum number of allowed connections
Dat is de melding die je zo nu en dan ziet verschijnen bij het overnemen van een server via remote desktop. Tot op heden was m’n enige oplossing hiervoor om met /console in te loggen en wanneer dat ook niet meer werkte, dan maar de server herstarten.
Vandaag kwam ik dit probleem weer tegen, maar dit keer was het op een host van verschillende VMWare guests. Het was niet echt een optie om de server te herstarten.
Gelukkig ben ik er nu achter gekomen dat je ook via de commandline de openstaande sessies kunt opvragen en killen.
Open de command prompt. Let er hier op dat je de deze wel opent als een domein gebruiker als de server op een domein zit, of anders als een gebruiker die ook op de server bekend is. Wanneer je dit niet doet kun je een Access denied melding krijgen.
Error 5 getting sessionnames Error [5]:Access is denied.
Het starten van een applicatie met een ander account kan door de [Shift]+[Rightclick] te doen op de applicatie of snelkoppeling. Je krijgt dan een Run as different user optie in het context menu (Windows 7). Uiteraard kan er ook gebruik worden gemaakt van de ShellRunas applicatie van Sysinternals.
In de prompt tik je dan het volgende in query session /server:servernaam
Het resultaat is hieronder te zien:
Dit is een lijst met de (actieve) sessies op de betreffende server.
Het lijkt mij niet vestandig om de sessies van console
, rdp-tcp
af te sluiten.
Van deze betreffende server weet ik dat het beheer account is ingelogd, wat ook is te zien in de lijst. Deze sessie kan worden afgesloten door middel van het commando reset session 3 /server:sylvester
uit te voeren. Het sessie id staat in de eerder verkregen lijst.
Wanneer er nu weer een query wordt uitgevoerd zal te zien zijn dat de sessie ook daadwerkelijk weg is:
Nu kan er weer worden ingelogd op de server. Dit kan uiteraard ook voor de overige sessies worden herhaald wanneer dat nodig is.