Automatyczne wylogowanie nieaktywnych sesji terminalowych i inne ustawienia TS

Serwer Terminali ma obsługiwać wielu użytkowników jednocześnie, ale każda z nieaktywnych (zerwanych lub pozostawionych przez użytkownika, sesji to marnowanie zasobów. Im bardziej zasobożerne aplikacje uruchamiają nasi użytkownicy, tym bardziej obciążony jest nasz serwer, warto zatem przyjrzeć się opcji automatycznego wylogowania użytkowników.

Zmiana ustawień sesji z poziomu serwera

Uruchamiamy narzędzie Remote Desktop Session Host Configuration (konfiguracja hosta sesji usług pulpitu zdalnego):

tsconfig.msc

Na liście „Connections” (połączenia) zaznaczamy „RDP-TCP”. Klikamy prawym klawiszem, wybieramy „Properties” (właściwości).

disconnect _RDP_sessions_1

W zakładce „Sessions” (Sesje) znajdziemy następujące opcje:

 disconnect session

End disconnected Session (Zakończ sesję odłączoną) – czas utrzymywania zerwanej sesji (gdy użytkownik stracił połączenie sieciowe lub nie wylogował się poprawnie z serwera). Zerwana sesja oznacza aktywność wszystkich programów jakie pozostawił użytkownik – w trosce o zasoby serwera właśnie to ustawienie powinniśmy zmienić w pierwszej kolejności. Wartość „Never” (Nigdy) to  czas nieograniczony,  czyli w praktyce do restartu serwera 😉

Active session limit (Limit sesji aktywnych) – to czas po jakim zostanie wylogowana aktywna sesja. Na dwie minuty przed wylogowaniem, użytkownik zobaczy komunikat z informacją. Warto dobrze zastanowić się przed ustawieniem takiej opcji – wylogowanie pracujących użytkowników może spowodować lawinę nerwowych telefonów do działu IT 🙂

Idle session limit (Limit czasu bezczynności sesji) –  to czas po jakim zostanie wylogowany użytkownik, który jest ciągle zalogowany, ma nawiązaną sesję RDP, ale nie wykonuje żadnych czynności.

When Session Limit is reached or connection is broken (Po osiągnięciu limitu sesji lub zerwaniu połączenia) –  są dwie możliwości. „Disconnect from Session”, oznacza, że zerwana sesja pozostanie na serwerze (tak długo jak ustaliliśmy w punkcie „End disconnected Session”). „End session”, oznacza, że sesja od razu zostanie usunięta, czyli użytkownik musi się zalogować od nowa. W praktyce, należy wziąć pod uwagę ryzyko niechcianego zrywania sesji – jeśli na przykład nasza sieć jest niezbyt wydajna i mogą zdarzać się chwilowe rozłączenia, to nie powinniśmy rozłączonych sesji od razu wylogowywać. Użytkownik powinien mieć chwilę na ponowne podłączenie do swojej sesji.

Masowa zmiana za pomocą GPO

Uruchamiamy przystawkę GPMC (oto skąd ją wziąć jeśli jej nie mamy). Robimy to poleceniem:

gpmc

lub poprzez przystawkę MMC .

UWAGA!!!!! Jak zauważycie niżej, ustawienia, które będziemy zmieniać dotyczą obiektu typu „komputer” lub/ORAZ „użytkownik”. Polityka podpięta pod komputer ma pierwszeństwo nad polityką użytkownika.

Przypomnę, że polityka GPO może spłynąć na:

  • wszystkie obiekty w domenie (edytujemy domyśloną politykę o nazwie „Default Domain Policy”),
  • wszystkie obiekty w konkretnym OU (tworzymy lub edytujemy politykę podlinkowaną do odpowiedniego kontenera),

Zaznaczamy odpowiednią politykę, lub tworzymy nową. Klikamy PPM, wybieramy „EDIT”.
Polityka komputera:

Computer Configuration\Policies\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Session Time Limits

Konfiguracja komputera\Zasady\Szablony administracyjne\Składniki systemu Windows\Usługi pulpitu zdalnego\Host sesji usług pulpitu zdalnego\Limity czasu sesji

Polityka użytkownika znajduje się w:

User Configuration\Policies\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Session Time Limits

Konfiguracja użytkownika\Zasady\Szablony administracyjne\Składniki systemu Windows\Usługi pulpitu zdalnego\Host sesji usług pulpitu zdalnego\Limity czasu sesji

disconenct_TS_sessions_gpo_computer_configuration

Set time limit for disconnected sessions – czas, po którym zostaną wylogowane rozłączone sesje

Set time limit for active but idle Terminal Services sessions – czas, po którym zostaną rozłączone sesje, na których użytkownik nie wykonuje żadnych czynności. Jeśli chcemy aby te były wylogowane a nie tylko rozłączone, zajrzyjmy do ustawienia „Terminate session when time limits are reached” (patrz niżej).

Set time limit for active Terminal Services sessions – czas, po którym zostaną rozłączone aktywne sesje. Jeśli chcemy aby te były wylogowane a nie tylko rozłączone, zajrzyjmy do ustawienia „Terminate session when time limits are reached” (patrz niżej).

Terminate session when time limits are reached – zakończ sesje (wyloguj użytkownika i zamknij jego program ), gdy mija limit czasu

Set time limit for logoff or RemoteApp sessions – domyślnie, gdy użytkownik zamyka RemoteApp, sesja pozostaje aktywna na serwerze. To ustawienie pozwala zmienić to ustawienie na natychmiastowe zamykanie całej sesji, lub po jakimś czasie.

Limit sesji użytkownika – jedna sesja dla jednego konta

Skoro jesteśmy przy Group Policy, to wartym wspomnienia jest ustawieniem jest ograniczenie sesji do jednej – domyślnie użytkownik może zalogować się kilka razy na tym samym serwerze, co może mieć praktyczne zastosowanie (konta grupowe), ale ułatwia też użytkownikom proceder współdzielenia kont indywidualnych..

Ustawienie które ograniczy ilość sesji do JEDNEJ nazywa się „Restrict each user to have one session” i znajduje w:

Computer Configuration\Policies\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Connections

Do innych ustawień Serwera Terminal na pewno wrócimy jeszcze nieraz.

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

5 komentarzy

  1. klapek1328 pisze:

    o! ostatnio się z tym bawiłem 🙂

  2. CeRDo pisze:

    Super! Kibicuje serii o TS. Mam nadzieję, że będzie więcej ciekawych wpisów takich, jak ten. Tak samo kibicuję serii o narzędziach sysinternals ;]

    Jedno pytanie do treści:

    „Przypomnę, że polityka GPO może spłynąć na:

    tylko wybrane obiekty za pomocą opisywanych wcześniej filtrów.”

    Chodzi o konkretne ustawienia we właściwościach pojedynczego konta uzytkownika?

  3. Inżynier pisze:

    Mam do was jako specjalistów ciekawe zagwostkę. Używam RemoteApp do programów księgowych, Pani księgowa otwiera sobie jednocześnie cztery programy, po tym zabiegu w momencie kiedy ma coś do wydrukowania, wszystko się zaczyna wieszać. Problemu tego nie ma na pojedynczej sesji. Jakaś rada?

  4. CrazyMario pisze:

    Gdzie znajdę te ustawienia w MS server 2016 ??

Dodaj komentarz