За замовчуванням, коли користувач зі свого комп’ютера закриває вікно своєї RDP / RDS сесією в термінальному клієнті (mstsc, rdcman або rdp html web клієнт) простим натисканням по хрестику в вікні, без виконання виходу (logoff), його сесія переходить в режим відключено (Роз’єднаному сеанс). У цьому режимі всі запущені користувачем програми, відкриті документи і вікна продовжують працювати на віддаленому сервері і споживати ресурси.

За замовчуванням в Windows RDP сесія користувача може знаходиться в стані disconnected до перезавантаження комп’ютера або явного її завершення користувачем або адміністратором. Це досить зручно, тому що користувач може в будь-який момент підключитися до своєї старої сесії і продовжити роботу з відкритими програмами і документами.

На наступному скріншоті видно, що відключені сесії користувачів на RDS сервері з Windows Server 2016 використовують близько 35% пам’яті сервера. Крім того незавершені сесії можуть блокувати відкриті файли на файлових серверах, викликати проблеми з коректним збереженням даних в додатках, профілях або User Profile Disks.

disconnected сесії не відключати на rds / rdp сервері

За допомогою команди quser можна дізнатися, коли розпочато RDP сесія користувача, тривалість простою і статус сесії.

quser - тривалість rdp сеансів, простою rdp сесій

Для автоматичного завершення відключених RDP / RDS сесій через певний проміжок часу, вам потрібно правильно налаштувати ліміти (таймаут).

При використанні RDS сервера, ви можете налаштувати параметри таймаутів сесій в налаштуваннях RDS колекцій на вкладці Сесія.

Вкажіть час, через яке потрібно завершити відключений сеанс в параметрі Завершіть відключений сеанс (За замовчуванням термін сеансу необмежений – never). Також ви можете виставити максимальну тривалість активної RDP сесії (Ліміт активних сеансів) І відключення недіючого сеансу (Обмеження сеансу очікування). Це жорсткі таймаут застосовуються для всіх сесій в RDS колекції.

настройка таймаутів сесій і параметрів перепідключення на rd session host

Також можна налаштувати обмеження часу RDP сесії в якості локального (консоль lusrmgr.msc) або доменного користувача (консоль dsa.msc – ADUC).

настройки макс.  тривалості сесій у властивостях користувача

Не варто робити тайм-аути на час RDP сеансу занадто маленькими, інакше сеанси користувачів будуть завершуватися при найменшій неактивності.

У Windows Server 2012 R2 / 2016/2019 можна налаштувати таймаут RDP сесій за допомогою групових політик. Можна використовувати як редактор доменних GPO gpmc.msc, так і редактор локальних групових політик (gpedit.msc) на конкретному RDS сервері або клієнта (якщо ви використовуєте десктопну Windows як термінальний сервер)

Параметри таймаутів RDP сесій знаходяться в розділі GPO

Конфігурація комп’ютера -> Політики -> Адміністративні шаблони -> Компоненти Windows -> Послуги віддаленого робочого столу -> Хост сеансу віддаленого робочого столу -> Обмеження часу сеансу (Конфігурація комп’ютера -> Політики -> Адміністративні шаблони -> Компоненти Windows -> Служби віддалених робочих столів -> Вузол сеансів віддалених робочих столів -> Обмеження сеансів по часу). В наявності є таке політики таймаутів:

  • Встановити обмеження часу для відключеного сеансу (Задати обмеження по часу для відключених сеансів)
  • Встановіть обмеження часу для активних, але неактивних сеансів Служб віддаленого робочого столу (Задати обмеження часу для активних, але бездіяльних сеансів служб віддалених робочих столів) – політика дозволяє завершити простоюють RDP сесії, в яких відсутня введення з боку користувача (рух мишкою, введення символів з клавіатури)
  • Встановіть обмеження часу для активних сеансів Служб віддаленого робочого столу (Задати обмеження по часу для активних сеансів служб віддалених робочих столів) – максимальний термін для будь-якої (навіть активної) RDP сесії користувача, після якого вона перетворюється на стан disconnected;
  • Завершити сесію, коли досягнуто обмежень за часом (Завершувати сеанс при досягненні обмеження за часом) – через якийсь час потрібно завершувати RDS сесію (logoff) замість перекладу її в disconnected;
  • Встановити обмеження часу для виходу з сеансів RemoteApp (Задати межа для виходу з сеансів RemoteApp)

Аналогічні настройки з управління таймаут RDP є в секції GPO з настройками користувачі: User Configuration -> Administrative Templates -> Windows Components. За допомогою політики з призначеної для користувача секції ви зможете більш гнучко налаштувати групи користувачів з різними лімітами на тривалість RDP сесій.

політики обмеження часу rdp сеансів по часу

За замовчуванням ці параметри не налаштовані. Щоб автоматично завершувати відключені RDP сеанси користувачів через 8 годин, включите політику “Встановіть обмеження часу для відключеного сеансу”= Увімкнено, І в випадаючому списку виберіть 8:00.

політика Встановити обмеження часу для відключеного сеансу

Збережіть зміни і обновіть політики сервера (gpupdate / force). Нові настройки таймаутів будуть застосовуватися тільки до нових RDP сеансів, поточні сеанси доведеться завершити вручну.

Також можна задати ліміти часу RDP сеансів через реєстр. Зазначеним вище політикам відповідаю наступні DWORD параметри в гілці реєстру HKLMACHINE SOFTWARE Policies Microsoft Windows NT Terminal Services

  • MaxDisconnectionTime
  • MaxIdleTime
  • MaxConnectionTime
  • MaxDisconnectionTime
  • RemoteAppLogoffTimeLimit

У Windows Server 2008 R2 також можна було задати ліміти RDP сесій на хості через спеціальну консоль tsconfig.msc (RD Session Host Configuration). Досить було запустити консоль, натиснути правою кнопкою по RDP-Tcp -> Properties. Налаштування обмеження тривалості сесій знаходяться на вкладці Сесії. Але в наступних версіях Windows Server ця консоль відсутня (хоча ви можете вручну скопіювати файли tsadmin.msc і tsconfig.msc і використовувати ці консолі і новіших версіях Windows Server).

ліміти rdp в консолі tsconfig.msc

Leave a Reply

Your email address will not be published. Required fields are marked *