- Policy CSP — RemoteDesktopServices
- RemoteDesktopServices policies
- Настройки пользователей и компьютеров службы Remote Desktop Services
- Настройка лимитов (таймаутов) RDP-сессий на терминальном сервере Windows
- Настройка на терминальном сервере
- Windows 2012 и выше
- Windows 2008 R2 и ниже
- Настройка через GPO
- Использование фильтров
- Настройка лимитов (таймаутов) для RDP/RDS сессий в Windows
Policy CSP — RemoteDesktopServices
RemoteDesktopServices policies
RemoteDesktopServices/AllowUsersToConnectRemotely
Windows Edition | Supported? |
---|---|
Home | |
Pro | |
Business | |
Enterprise | |
Education |
This policy setting allows you to configure remote access to computers by using Remote Desktop Services.
If you enable this policy setting, users who are members of the Remote Desktop Users group on the target computer can connect remotely to the target computer by using Remote Desktop Services.
If you disable this policy setting, users cannot connect remotely to the target computer by using Remote Desktop Services. The target computer will maintain any current connections, but will not accept any new incoming connections.
If you do not configure this policy setting, Remote Desktop Services uses the Remote Desktop setting on the target computer to determine whether the remote connection is allowed. This setting is found on the Remote tab in the System properties sheet. By default, remote connections are not allowed.
Note: You can limit which clients are able to connect remotely by using Remote Desktop Services by configuring the policy setting at Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security\Require user authentication for remote connections by using Network Level Authentication.
You can limit the number of users who can connect simultaneously by configuring the policy setting at Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections\Limit number of connections, or by configuring the policy setting Maximum Connections by using the Remote Desktop Session Host WMI Provider.
This is an ADMX-backed policy and requires a special SyncML format to enable or disable. For details, see Understanding ADMX-backed policies.
You must specify the data type in the SyncML as
Настройки пользователей и компьютеров службы Remote Desktop Services
Групповая политика содержит несколько настроек пользователей и компьютеров службы Remote Desktop Services для конфигурирования сеансов удаленных рабочих столов. Администратор может модифицировать существующие групповые политики или создавать новые групповые политики для управления параметрами пользователей и машин служб удаленных рабочих столов. Эти объекты групповых политик (Group Policy Object — GPO) могут быть затем применены к серверам RD Session Host, виртуальным машинам или пользователям, находящимся на сайте Active Directory, в домене или организационной единице (OU) либо к выделенным на основе некоторого фильтра GPO.
Групповая политика представляет собой предпочтительный метод стандартизации конфигураций службы Remote Desktop Services через Active Directory, потому что конфигурации пользователя и машины могут администрироваться централизованно. Поскольку в групповой политике доступно множество настроек службы Remote Desktop Services, ниже приведен список, описывающий их местоположение.
- Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment. Назначение прав пользователям обеспечивает разрешение либо запрет входа через службу Remote Desktop Services, в зависимости от установки конфигурации.
- Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services. Здесь могут быть сконфигурированы почти все параметры службы Remote Desktop Services. Настройки, сделанные здесь, переопределяют конфигурации пользователя или клиента, а также установки, сделанные в разделе User Configuration (Конфигурация пользователя) групповой политики.
- User Configuration\Administrative Templates\Windows Components\Remote Desktop Services. В этом разделе могут быть сконфигурированы параметры пользовательского сеанса. Здешние установки переопределяют пользовательские или клиентские конфигурации.
Простой и эффективный способ управления GPO для серверов RD Session Host состоит в создании организационной единицы для этих серверов и применении GPO к этой организационной единице. Включение режима замыкания при обработке групповой политики Computer Configuration\Administrative Templates\System\Group Policy\User Group Policy очень важно, если вы хотите, чтобы установки GPO контекста пользователя возымели действие. Режим замыкания может быть настроен либо на слияние, либо на замену. Слияние позволяет существующим GPO уровня домена объединяться с GPO служб удаленных рабочих столов, в то время как замена означает переопределение всех прочих установок и применение только специфических для служб удаленных рабочих столов настроек.
Настройка лимитов (таймаутов) RDP-сессий на терминальном сервере Windows
По умолчанию, на терминальном сервере RDP-сессия длится до тех пор, пока пользователь ее явно не прервет. В некоторых случаях, это может привести к зависанию профиля или некоторых запущенных приложений.
Рекомендуется задавать лимит на сеансы, по достижении которого принудительно завершать терминальные сессии и выполнять выход пользователя из системы.
Настройка на терминальном сервере
Сессии можно настроить для конкретного сервера в настройках сервера терминалов. Процесс немного отличается в зависимости от версии операционной системы Windows.
Windows 2012 и выше
В диспетчере серверов переходим в службы удаленных рабочих столов:
Переходим в коллекцию, для которой хотим поменять настройки сеанса:
В свойствах коллекции кликаем по Задачи — Изменить свойства:
Переходим в раздел Сеанс и выставляем ограничения:
* где Окончание разъединенного сеанса — время, через которое для пользователей с завершенными сеансами произойдет выход из системы; Ограничение бездействующего сеанса — время, через которое сеанс перейдет в разъединенный, если пользователь в нем не работает (не проявляет никакой активности).
Windows 2008 R2 и ниже
Нажимаем Пуск — Администрирование — Службы удаленных рабочих столов — Конфигурация узла сеансов удаленных рабочих столов:
В разделе «Подключения» дважды кликаем по RDP-Tcp:
На вкладке «Сеансы» ставим галочку Переопределить параметры пользователя и выставляем необходимые лимиты:
* где Завершение отключенного сеанса — время, по достижении которого отключенный сеанс будет завершен, а для пользователя будет выполнен выход; Ограничение бездействующего сеанса — ограничение на сеанс, в котором пользователь не работает.
Настройка через GPO
Если терминальных серверов много или необходимо централизованно задать политику ограничения сессий, можно воспользоваться групповыми политиками Active Directory.
Заходим в консоль управления политиками — создаем политику с любым понятным названием — переходим в настройку созданной политики.
В зависимости от необходимости применять политику к пользователям и/или компьютерам, используем следующие ветки для настройки:
- Конфигурация компьютера\Политики\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Ограничение сеансов по времени
(Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Session Time Limits) - Конфигурация пользователя\Политики\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Ограничение сеансов по времени
(User Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Session Time Limits)
* если для пользователей и компьютеров используются отдельные организационные юниты, необходимо создавать политику в соответствующей ветке.
Для настройки выставляем следующие значения:
Параметр | Описание | Значения |
---|---|---|
Завершать сеанс при достижении ограничения по времени (End session when time limits are reached) | Задает глобальную настройку, которая разрешает или запрещает лимиты, в принципе. | Включено — включает режим ограничения сессий (для нашей цели выбираем это значение). Отключено — выключает и запрещает лимиты. Не задано — выключает для политик, но разрешает локальные настройки на сервере. |
Задать ограничение по времени для активных, но бездействующих сеансов служб удаленных рабочих столов (Set time limit for active but idle Terminal Services sessions) | Если пользователь завершил работу с сервером, но не завершил сеанс, можно установить ограничение сессии этим параметром. Таким образом, пользователи, которые не завершают сеанс будут автоматически выкинуты из сессии. | Включено — активируем лимит для бездействующих сеансов (выставляем ее). И в выпадающем списке указываем время бездействия, например 3 часа. Отключено — отключает лимит на бездействующие сессии. Не задано — настройка задается локально на сервере. |
Задать ограничение по времени для отключенных сеансов (Set time limit for disconnected sessions) | Если пользователь отключил сеанс, но не вышел из системы, можно автоматически его разлогинить с помощью этой опции. | Включено — активируем лимит для завершенных сеансов (выставляем ее). И в выпадающем списке указываем время, например 3 часа. Отключено — отключает лимит на завершенные сессии. Не задано — настройка задается локально на сервере. |
Задать ограничение по времени для активных сеансов служб удаленных рабочих столов (Set time limit for active Remote Desktop Services sessions) | Независимо от того, работает пользователь в системе или нет, сервер завершит его сеанс, отправив уведомление за 2 минуты до отключения. | Включено — активируем лимит для активных сеансов. В выпадающем списке необходимо указать время. Данную опцию лучше не применять. С практической точки зрения опция создаст много неудобств. Отключено — отключает лимит на завершенные активные сессии. Не задано — настройка задается локально на сервере. |
Для применения настроек ждем или выполняем команду на сервере:
Проверяем, применились ли политики:
Использование фильтров
Если нам необходимо применить ограничения через политики только для определенных серверов/пользователей, применяем фильтры безопасности.
Для этого создаем группу в Active Directory и добавляем туда нужные серверы (или пользователей).
Проверяем, что нужные нам серверы или пользователи стали членами созданной группы.
а) команда для проверки компьютера:
gpresult /r /scope:computer
б) для пользователя:
gpresult /r /scope:user
Если в созданной группе компьютера/пользователя нет, то:
а) для пользователя выходим из сеанса сервера и подключаемся по новой.
б) на сервере выполняем команды:
klist -lh 0 -li 0x3e7 purge
Если в нашей среде Active Directory несколько сайтов, то наши настройки могут появиться на нужном контроллере через несколько минут (как правило, до 15). Если нет возможности ждать, можно форсировать процесс репликации с помощью инструмента «Active Directory — сайты и службы».
Далее при создании групповой политики удаляем группу «Прошедние проверку», которая присутствует по умолчанию:
И добавляем созданную ранее, например:
После настраиваем политику по инструкции выше.
Чтобы проверить, что настройка применилась только у нужным нам объектам, на сервере выполняем команду:
Настройка лимитов (таймаутов) для RDP/RDS сессий в Windows
По-умолчанию, когда пользователь со своего компьютера закрывает окно своей RDP/RDS сессией в терминальном клиенте (mstsc, rdcman или rdp html web клиент) простым нажатием по крестику в окне, без выполнения выхода (logoff), его сессия переходит в режим disconnected (разъединённый сеанс). В этом режиме все запущенные пользователем программы, открытые документы и окна продолжают работать на удаленном сервере и потреблять ресурсы.
По-умолчанию в Windows RDP сессия пользователя может находится в состоянии disconnected до перезагрузки компьютера или явного ее завершения пользователем или администратором. Это довольно удобно, т.к. пользователь может в любой момент подключиться к своей старой сессии и продолжить работу с открытыми программами и документами.
На следующем скриншоте видно, что отключенные сессии пользователей на RDS сервере с Windows Server 2016 используют около 35% памяти сервера. Кроме того незавершенные сессии могут блокировать открытые файлы на файловых серверах, вызывать проблемы с корректным сохранением данных в приложениях, профилях или User Profile Disks.
С помощью команды quser можно узнать, когда начата RDP сессия пользователя, длительность простоя и статус сессии.
Для автоматического завершения отключенных RDP/RDS сессий через определенный промежуток времени, вам нужно правильно настроить лимиты (таймауты).
При использовании RDS сервера, вы можете настроить параметры таймаутов сессий в настройках RDS коллекций на вкладке Session.
Укажите время, через которое нужно завершить отключенный сеанс в параметре End a disconnected session (по умолчанию срок сеанса неограничен – never). Также вы можете выставить максимальную длительность активной RDP сессии (Active session limit) и отключение бездействующего сеанса (Idle session limit). Это жесткие таймауты применяются для всех сессий в RDS коллекции.
Также можно настроить ограничение времени RDP сессии в свойства локального (консоль lusrmgr.msc) или доменного пользователя (консоль dsa.msc — ADUC).
В Windows Server 2012 R2/2016/2019 можно настроить таймауты RDP сессий с помощью групповых политик. Можно использовать как редактор доменных GPO gpmc.msc, так и редактор локальных групповых политик (gpedit.msc) на конкретном RDS сервере или клиенте (если вы используете десктопную Windows в качестве терминального сервера)
Параметры таймаутов RDP сессий находятся в разделе GPO
Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Session Time Limits (Конфигурация компьютера -> Политики -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Ограничение сеансов по времени). Доступны следующие политики таймаутов:
- Set time limit for disconnected session (Задать ограничение по времени для отключенных сеансов)
- Set time limit for active but idle Remote Desktop Services sessions (Задать ограничение времени для активных, но бездействующих сеансов служб удаленных рабочих столов) – политика позволяет завершить простаивающие RDP сессии, в которых отсутствует ввод со стороны пользователя (движение мышкой, ввод символов с клавиатуры)
- Set time limit for active Remote Desktop Services sessions (Задать ограничение по времени для активных сеансов служб удаленных рабочих столов) – максимальный срок для любой (даже активной) RDP сессии пользователя, после которого она переводится в состояние disconnected;
- End Session when time limits are reached (Завершать сеанс при достижении ограничения по времени) – через какое время нужно завершать RDS сессию (logoff) вместо перевода ее в disconnected;
- Set time limit for logoff of RemoteApp sessions (Задать предел для выхода из сеансов RemoteApp)
По умолчанию эти параметры не настроены. Чтобы автоматически завершать отключенные RDP сеансы пользователей через 8 часов, включите политику “Set time limit for disconnected session” = Enabled, и в выпадающем списке выберите 8 часов.
Сохраните изменения и обновите политики сервера (gpupdate /force). Новые настройки таймаутов будут применяться только к новым RDP сеансам, текущие сеансы придется завершить вручную.
- MaxDisconnectionTime
- MaxIdleTime
- MaxConnectionTime
- MaxDisconnectionTime
- RemoteAppLogoffTimeLimit