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.
Składnia
Dział zatytułowany „Składnia”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
Parametry
Dział zatytułowany „Parametry”Przełącznik | Znaczenie |
---|---|
/query | Pobiera i wyświetla aktualny status logowań sesji Terminal Services. |
/enable | Aktywuje możliwość logowania nowych sesji zdalnych. |
/disable | Dezaktywuje możliwość zakładania nowych sesji zdalnych. |
/drain | Zezwala jedynie na ponowne łączenie do istniejących sesji; nowe połączenia są blokowane. |
/drainuntilrestart | Tryb drenażu utrzymywany do restartu serwera. |
Uwaga: Komenda nie przyjmuje dodatkowych argumentów poza wymienionymi przełącznikami.
Przykłady użycia
Dział zatytułowany „Przykłady użycia”-
Sprawdzenie stanu logowań
Okno terminala chglogon /queryWyświetla:
Connections are currently ENABLED.
-
Wyłączenie nowych logowań
Okno terminala chglogon /disableWyświetla:
Connections are now DISABLED.
-
Blokowanie nowych logowań, zachowanie istniejących sesji
Okno terminala chglogon /drain -
Utrzymanie trybu drenażu do restartu
Okno terminala chglogon /drainuntilrestart
chglogon
jest tożsame zchange 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ń.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd | Przyczyna | Rozwiązanie |
---|---|---|
'chglogon' is not recognized as a command | Brak 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 installed | Brak 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.