Ограничение сеанса rdp по времени windows server 2016
Анализируя поступающие заявки наших клиентов в службу технической поддержки и обращения к консультантам, мы заметили, что множество наших клиентов сталкиваются с такой проблемой как «автовыход», не понимая, что это и как с ней бороться.
Любой сервер в том числе и виртуальный сервер должен работать в постоянном режиме 24 х 7 х 365. И соответственно пользователь, который запускает программы на выполнение на сервере, рассчитывает, что они будут работать в таком же режиме. Именно на это и рассчитывают наши клиенты. Однако устанавливая на VPS сервер различного рода десктопное программное обеспечение, которое разрабатывалось «умельцами» без мысли, что существуют компьютеры, не имеющие мониторов, отключившись от сервера через какое-то время замечают, что его программа перестала работать должным образом, при том что сервер активен и доступен. Замечают это как правило при следующем подключении к серверу для анализа данных с как подразумевалось работавшего ПО. Проблема, очевидно в том, что данное ПО что-то пытается брать со свойств экрана (разрешение, позиция курсора и т.д.) при том, что ни экрана, ни курсора при отключенном сеансе нет.
Данная проблема является частным случаем ограничения работы сеансов по времени, за которую отвечает узел групповой политики «Службы удаленных рабочих столов» с одноименным названием «Ограничение сеансов по времени». Он позволяет гибким образом настраивать время работы запущенных сеансов или Ваших сотрудников на сервере при организации рабочих мест, что позволяет Вам более оптимально использовать ресурсы арендуемого сервера Windows VDS.
Запустим на сервере редактор «Локальной групповой политики» нажав сочетание клавиш Win+R и Набрав команду GPEDIT.MSC
Далее необходимо перейти по следующему пути в ветке «Конфигурация пользователя», если Вы хотите произвести настройки для текущего пользователя или в ветке «Конфигурация компьютера», если Вы хотите настроить для всех пользователей сервера.
1.«Задать ограничение по времени для отключенных сеансов»
При помощи этого параметра Вы можете указать промежуток времени в минутах, часах или днях, на протяжении которого открытые программы будут продолжать работать после отключения от сервера.
Если Вы хотите, чтобы Ваша программа работала на сервере в постоянном режиме и не происходило «автовыхода» при отключении, то данный параметр следует указать как Включен и выбрать Никогда. Что является решение выше описанной ситуации.
Данный параметр можно так же использовать в моменты, когда рабочий день сотрудника закончен, но на выполнение некоторых автономных процессов, которые не требуют вмешательства пользователя, нужно еще дополнительное время, в таком случае можно указать Включено и указать необходимо количество времени.
2.«Задать ограничение по времени для активных, но бездействующих сеансов служб удалённых рабочих столов»
Бездействующим сеансом считается тот сеанс, когда удаленный рабочий стол начинает простаивать без каких-либо операций ввода, со стороны пользователя. Сотрудник может подключиться к удаленному рабочему столу сервера, а затем по завершении рабочего дня попросту забыть отключиться от сервера и уйти домой. В таком случае сеанс активен, но простаивает и ресурсы выделяемые сервером и зарезервированные для этого пользователя, простаивают и соответственно расходуются не эффективно. В таком случае можно указать Включено и указать необходимо количество времени, после которого при простое, сеанс будет завершен.
3.«Задать ограничение по времени для активных сеансов служб удалённых рабочих столов»
Во втором и третьем случае обязательно включение параметра «Завершать сеанс при достижении ограничения по времени». Включение данного параметра указывает, чтобы производилось именно завершение сеанса пользователя, в противном случае будет производится только отключение сеанса, но не его завершение.
4.«Задать предел времени для выхода из сеансов RemoteApp»
Данный параметр позволяет Вам, завершать сеанс в момент, когда Вы не производили подключение к удаленному рабочему столу сервера, но подключение к серверу было установлено при помощи сторонних программ. При закрытии программы, если параметр «Не задан», то сеанс отключается, но не завершается. Для завершения сеанса необходимо указать Включено и установить время, так же доступен параметр «Немедленно».
Постановка задачи
Есть RDS-ферма из 15 хостов, на уровне коллекции произведены настройки на ограничения активного сеанса, времени разъединения. Данная настройка распространяется на всех участников, подключенных к ней. Хотелось бы иметь возможность для определенных групп пользователей переопределить настройки времени ограничения сеанса, бездействия и разъединения.
Открываем диспетчер серверов с собранной оснасткой управления RDS. Для настройки сеансов, вам нужно открыть свою коллекцию и в свойствах коллекции найти кнопку задачи, щелкнуть по ней и выбрать кнопку изменить свойства.
Переходите на вкладку "Сеанс". Тут будут три настройки распространяемые на сеанс пользователя, об их значении я уже писал в статье (Таймер входа в систему истек)
- Окончание разъединенного сеанса
- Ограничение активного сеанса
- Ограничение бездействующего сеанса
Тут я напоминаю все лимиты действуют на всех пользователей, предположим, что я хочу чтобы пользователи из отдела продаж имели ограничение активного сеанса всего 10 часов, более им не нужно, как это сделать. В рамках общих настроек коллекций сеансов никак, но обходной путь есть и называется он групповые политики.
Изменение настроек сеанса через групповую политику
Для более тонкой настройки лимитов сеансов на RDS или терминальной ферме, вы может использовать групповую политику, я бы назвал, это точечной настройкой.
Хочу отметить, что настройки через GPO будут иметь больший приоритет, нежели чем в коллекции сеансовСуществует две ветки настроек, одна для пользователей, другая для компьютеров.
Вот ветка для пользователей:
Конфигурация пользователя\Политики\Административные шаблоны\Компоненты 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)Вы тут обнаружите 5 политик:
- Задать ограничение по времени для отключенных сеансов
- Задать ограничение времени для активных, но бездействующих сеансов служб удаленных рабочих столов
- Задать ограничение по времени для активных сеансов служб удаленных рабочих столов
- Завершить сеанс при достижении ограничения по времени
- Задать предел для выхода из сеансов RemoteApp
Следуя из задачи, меня интересует третий пункт, который позволит задать другие значения максимального времени работы сессии. Открываем его и включаем. В выпадающем списке указываем на какой лимит времени нужно активировать. Теперь вам нужно либо применить эту политику на нужную OU, либо же сделать фильтрацию, если нужные вам пользователи лежат вместе с остальными, на кого политику применять ненужно. В фильтрах безопасности, нажмите добавить и выберите нужную группу, пользователей или компьютеры.
После чего удалите из фильтра безопасности группу "Прошедшие проверку".
P.S. так же некоторыми настройками RDS-фермы можно управлять через реестр Windows в ветке: \HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
Популярные Похожие записи:
2 Responses to Настройка лимита времени сеанса для разных групп на RDS ферме
Спасибо за статью , странно , но каменный цветок не выходит 🙁
Ещё интересный момент если из фильтра безопасности удалить прошедших проверку и оставить только группу пользователей.. политика будет отфильтрована безопасностью.
На другом форуме наткнулся на подобную сноску..
Во всех предыдущих рекомендациях при необходимости использовать Security Filtering MS всегда советовали удалять группу Authenticated Users и добавлять группу безопасности пользователей с правами Read и Apply.
После установки обновления MS16-072 /KB3159398 теперь для успешного применения политики, права Read на доступ к объекту GPO должны быть также и у учетной записи самого компьютера.
А так как под Authenticated Users подразумеваются, как пользовательские, так и компьютерные учетки, то удаляя эту группу, мы тем самым блокируем доступ к GPO.
Да права для прошедших пользователей на вкладке делегирование нужно оставлять или для компьютеров домена, если политика на них, и уже фильтровать по фильтру безопасности. Вся эта канитель началась году так в 2016, после очередных обновлений
Длительность RDP-сессий в ОС Windows по умолчанию не ограничена. Это означает, что сессия будет выполняться на сервере до тех пор, пока пользователь ее явно не завершит. Большое количество незавершенных сессий ведет к повышенной нагрузке на сервер, кроме того могут закончится лицензии на подключение. Во избежании подобных проблем рекомендуется ограничивать время RDP-сессий. В доменной среде это ограничение можно реализовать с помощью групповых политик.
При настройке ограничений очень важно понимать все нюансы, поэтому сначала немного теории. RDP-сессия может находится в одном из трех состояний:
• Active – сессия активна, пользователь выполняет какие то действия (двигает мышкой, нажимает на клавиатуру и т.п.);
• Idle – сессия активна, но пользователь активности не проявляет;
• Disconnected – сессия отключена.
Для завершения работы с удаленным рабочим столом у пользователя есть два варианта:
Политики, отвечающие за ограничения сессии, могут применяться как к компьютерам, так и к пользователям. Настройки для компьютера:
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 (Конфигурация пользователя\Политики\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Ограничение сеансов по времени).
Set time limit for active Remote Desktop Services sessions (Задать ограничение по времени для активных сеансов служб удаленных рабочих столов)
Эта политика задает время, по истечении которого происходит автоматическое отключение активной сессии пользователя. Включать ее стоит только в том случае, если вы хотите жестко ограничить время работы пользователей, поскольку по истечении лимита времени сессия будет прервана независимо от активности пользователя.
Для активации политики переводим ее в состояние Enabled и выбираем необходимое время. Диапазон выбора широкий, от 1 минуты до 5 дней, а если выбрать Never, то сессия не будет отключаться никогда.
Set time limit for active but idle Terminal Services sessions (Задать ограничение по времени для активных, но бездействующих сеансов служб удаленных рабочих столов)
Эта политика задает время, по истечении которого происходит автоматическое отключение сессии при неактивности пользователя. Если пользователь не проявляет активность, то по истечении указанного времени его сеанс будет отключен, т.е. перейдет в состояние Disconnected.
Set time limit for disconnected sessions (Задать ограничение по времени для отключенных сеансов)
Здесь мы задаем время, в течение которого отключенная сессия хранится на сервере. По истечении этого времени сессия будет завершена и удалена с сервера со всем содержимым. Важно понимать, что при завершении сессии все несохраненные данные будут потеряны.
End session when time limits are reached (Завершать сеанс при достижении ограничения по времени)
Эта политика указывает, что именно сделать с сессией. Если установить ее в Enabled, то по достижении временного лимита сессии всегда будут завершаться, а не отключаться.
Все эти настройки помогают регулировать нагрузку на сервер, однако обращаться с ними следует аккуратно. К примеру время активной сессии лучше не ограничивать, чтобы пользователей не выкидывало с сервера в процессе работы. Также стоит быть осторожнее с лимитом для отключенных сессий, поскольку у пользователей могут быть несохраненные данные и при завершении сессии они будут потеряны.
В ходе удаленной работы пользователей, бывает важным выполнить настройку таким образом, чтобы программы, а также скрипты и макросы запущенные клиентом продолжали свою работу, а не закрывались сразу при разрыве сессии. В основе решения проблемы лежит всего лишь настройка таймаутов для RDP-сессий. Рассмотрим как это сделать.
Устанавливаем Службу удаленных рабочих столов. Для этого открываем “Панель управления сервером”. В открывшемся окне выбираем второй пункт - “Добавить роли и компоненты”.
В окне мастера установки ролей приводится общий ознакомительный материал. Данный текст будет появляться при каждой попытке добавить роли или компонент сервера. Чтобы эта информация не появлялась вновь, рекомендуем установить галочку “Пропускать эту страницу по умолчанию”. Нажимаем кнопку “Далее”.
Следующим шагом выбираем тип установки - “Установка служб удаленных рабочих столов”. Нажимаем “Далее”.
На следующем этапе выбираем тип развертывания - “Службы Multipoint”. Обычно этот параметр установлен по умолчанию. Кликаем по кнопке “Далее”.
Следующим шагом выбираем сервер для которого выполняется установка. В нашем случае сервер уже добавлен, так как рассматриваем установку на единичный сервер не добавленный в домен. Нажимаем “Далее”.
Следующим шагом подтверждаем выбор. Установим галку, которая позволит системе перезагрузить сервер автоматически в случае необходимости. Нажимаем кнопку “Развернуть”.
Важно! В ходе установки могут быть закрыты все RDP-соединения, а также сервер может быть несколько раз перезагружен без дополнительного уведомления об этом.
Дожидаемся окончания процесса установки.
В окне трижды написано “Успешно”. Закрываем окно установки.
Приступаем к настройке групповых политик.
Для настройки групповых политик запускаем соответствующую консоль. В программе выполнить (Windows + R) вводим “gpedit.msc”. Нажимаем кнопку “OK” или Enter.
В открывшемся окне следуем по пути Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Узел сеансов удаленных рабочих столов → Ограничение сеансов по времени.
Следующим параметрам необходимо установить значение “Включено”:
- Завершать сеанс при достижении ограничения по времени - Установка данного параметра разрешает или запрещает использовать таймауты.
- Задать ограничение по времени для активных, но бездействующих сеансов служб удаленных рабочих столов - параметр определяет задержку для неактивных сеансов, когда пользователь бездействует.
- Задать ограничение по времени для отключенных сеансов - параметр задает таймаут для завершенных сеансов, когда сеанс завершен, но в фоновом режиме запущены некоторые процессы.
Для изменения значений, кликаем правой кнопкой мыши по каждому из пунктов. В контекстном меню выбираем “Редактировать”. Аналогичное окно откроется по двойному клику.
В открывшемся окне устанавливаем состояние как “Включено”. Затем устанавливаем временные рамки. По окончании нажимаем кнопку “OK”.
Выбор временных диапазонов остается на усмотрение системного администратора.
Параметр “Завершать сеанс при достижении ограничения по времени” не имеет временных диапазонов. Данный параметр нужно просто включить.
Читайте также: