Problem z zalogowaniem się do sesji zdalnej Windows Server 2003

Jeśli w twojej sieci nadal pracują serwery pod kontrolą starego Windows Server 2003 to przy próbie połączenia się przez zdalny pulpit (remote desktop connection) na pewno w końcu spotkasz się z powitaniem

„Terminal server has exceeded max number of allowed connections”.

Oznacz to, że pula licencji dla sesji zdalnych została wyczerpana. Windows Serwer 2003 standardowo umożliwia na dwie równoczesne sesje dla administratorów. W większości takich przypadków tak na prawdę nikt obecnie nie korzysta z sesji zdalnej a raczej któryś z administratorów, gapa zapomniał poprawnie wylogować się z serwera i tak wisi jego zdalna sesja. Całkiem możliwe, że to Twoja poprzednia sesja.
Co więcej, nawet jeden użytkownik może wykorzystać kilka sesji jeśli nie jest zaznaczona opcja “Restrict each user to one session” (Start > Administrative Tools > Remote Desktop Services).
Poniżej przedstawię kilka sposobów jak sobie poradzić z problemem gdy zostanie przekroczona dopuszczalna ilość sesji zdalnych w Windows Server.

Sposób 1. Z konsoli

Sprawdź jacy użytkownicy są zalogowani do serwera. Z innej stacji będącej w tej samej sieci wpisz w CMD (z uprawnieniami administracyjnym) polecenie

query session /server:nazwaSerwera

Zostanie zwrócona lista obecnych zdalnych sesji z ich numerem id. Aby zamknąć niepotrzebna sesje wpisz polecenie

reset session numer_ID_sesji /server:nazwa_serwera

Czasem warto wcześniej skontaktować się z kolegą, którego sesja jest na liście i dopytać czy można go bezpiecznie wylogować.

Sposób 2. Wymuszenie sesji admina

Możesz wymusić logowanie zdalne i wtedy wylogować wiszące sesje.
W polu Uruchom wpisz

mstsc.exe /admin

i użyj swoich poświadczeń.
Po ukazaniu się pulpitu zdalnego serwera, wejdź do Task managera i w zakładce Users wyloguj zalegające sesje (menu pod prawym przyciskiem myszki).

Sposób 3. Bezwzględnie

Jeśli masz odpowiednie uprawnienia możesz brutalnie rozwiązać problem restartując serwer cały.
W CMD wpisz polecenie

shutdown /r /m \\nazwa_serwera /f /t 90

Pamiętaj, że na serwerze mogą być usługi, z których inni korzystają więc bądź w pełni świadomy z czym wiąże się wyłączenie, nawet na chwile, danego serwera. Badz tu ostrożny.

Sposób 4. Na piechotę

Jeśli masz możliwość podejdź do fizycznego serwera, zaloguj się lokalnie i wyloguj sesje zdalne.
Może i mało profesjonalny sposób, ale czasem warto wstać od biurka i przejść się dla zdrowa te kilka kroków do serwerowni 🙂

Wszystkie wymienione sposoby działają też i w nowszych wersjach system Windows Server, jednakże tam, przy braku wolnej sesji, od razu wita nas opcja wylogowania innego użytkownika – Microsoft pomyślał o tym w następnych wersjach systemu Windows Server.
Na koniec porada, aby zawsze pamiętać o poprawnym wylogowaniu się z sesji zdalnych i przypominać o tym też swoim kolegom adminom. Nie zamykamy okna zdalnego pulpitu – używamy opcji wyloguj. A najlepiej korzystam z innych narzędzi do łączenia się z serwerem jak na przykład przystawki MMC lub ServerManager.
Rozważ w końcu migracje z Windows Server 2003 na nowszy system ponieważ jego wsparcie zakończyło się w lipcu 2014 roku i od tamtego czasu nie są już wydawane żadne poprawki bezpieczeństwa.