Przejdź do głównej zawartości

chglogon


Komenda chglogon służy do włączania lub wyłączania możliwości logowania zdalnych sesji na serwerze Remote Desktop Session Host, a także do wyświetlania bieżącego stanu tej funkcji. Została zastąpiona nowszym poleceniem change logon, jednak wciąż bywa używana w skryptach i środowiskach wymagających kompatybilności wstecznej. Narzędzie jest dostępne w systemach od Windows Server 2008 wzwyż oraz w niektórych klientach (np. Windows Vista/7) z włączoną rolą RD Session Host. Aby wykonać chglogon, niezbędne są uprawnienia administratora oraz uruchomienie wiersza poleceń w kontekście serwera terminali. Wywołanie bez parametrów zwraca komunikat o aktualnym stanie: czy logowania są ENABLED, DISABLED lub DRAINED.


Okno terminala
chglogon [/query | /enable | /disable | /drain | /drainuntilrestart]
  • /query – wyświetla bieżący stan logowań zdalnych sesji (ENABLED/DISABLED/DRAINED)
  • /enable – włącza możliwość logowania nowych sesji klienta (nie dotyczy konsoli)
  • /disable – wyłącza możliwość logowania nowych sesji klienta, nie wpływa na już zalogowanych użytkowników
  • /drain – blokuje nowe logowania, ale pozwala na ponowne połączenia do istniejących sesji
  • /drainuntilrestart – działa jak /drain, ale utrzymuje stan aż do restartu systemu

PrzełącznikZnaczenie
/queryPobiera i wyświetla aktualny status logowań sesji Terminal Services.
/enableAktywuje możliwość logowania nowych sesji zdalnych.
/disableDezaktywuje możliwość zakładania nowych sesji zdalnych.
/drainZezwala jedynie na ponowne łączenie do istniejących sesji; nowe połączenia są blokowane.
/drainuntilrestartTryb drenażu utrzymywany do restartu serwera.

Uwaga: Komenda nie przyjmuje dodatkowych argumentów poza wymienionymi przełącznikami.


  1. Sprawdzenie stanu logowań

    Okno terminala
    chglogon /query

    Wyświetla: Connections are currently ENABLED.

  2. Wyłączenie nowych logowań

    Okno terminala
    chglogon /disable

    Wyświetla: Connections are now DISABLED.

  3. Blokowanie nowych logowań, zachowanie istniejących sesji

    Okno terminala
    chglogon /drain
  4. Utrzymanie trybu drenażu do restartu

    Okno terminala
    chglogon /drainuntilrestart

  • chglogon jest tożsame z change logon – oba narzędzia wykonują identyczne operacje.
  • Narzędzie działa tylko w sesjach z rolą Remote Desktop Session Host; w standardowym CMD na stacjach roboczych nie będzie rozpoznawane.
  • W trybie drenażu (/drain), nowe połączenia są blokowane, ale istniejące sesje mogą być ponownie użyte.
  • /drainuntilrestart wymaga restartu systemu, aby przywrócić domyślny tryb logowań.

BłądPrzyczynaRozwiązanie
'chglogon' is not recognized as a commandBrak roli RD Session Host lub użycie innego interpretera niż CMD.Uruchom CMD na serwerze z rolą RD Session Host; upewnij się, że %SystemRoot%\System32 jest w PATH.
Access is denied.Brak uprawnień administratora.Uruchom CMD jako administrator.
Connections are currently ENABLED by GPO…Zmiana stanu zablokowana przez zasady grupowe.Sprawdź ustawienia GPO: Computer Configuration → Administrative Templates → Remote Desktop Services → Host Session Host.
Invalid switch: '/xyz'Literówka lub nieistniejący przełącznik.Sprawdź dostępne przełączniki za pomocą chglogon /?.
Cannot change logons: Terminal Services not installedBrak roli RD Session Host.Zainstaluj rolę RD Session Host lub użyj narzędzia Remote Desktop Services Manager.

Porada: Przed skryptowaniem zmian użyj chglogon /query, aby zapisać bieżący stan i móc łatwo przywrócić go w razie potrzeby.