Что было. Доменная политика «Задать ограничение по времени для активных, но бездействующих сеансов» на 3 часа применяется к узлам на Windows Server 2016 и 2019 в одном подразделении. На 2016 работает, на 2019 сессии отключаются через 30 минут. gpresult /h показывает, что политика на 2019 применена. Позже подтвердили то же на 2022. Официального объяснения за два года не появилось.
Что нашли участники.
- Настройки коллекции сеансов (Диспетчер серверов → Службы удалённых рабочих столов → Коллекция → Свойства → Сеанс) хранятся отдельно и на узлах фермы могут перекрывать политику. Если коллекция была создана с лимитом 30 минут, именно он и действует. Выставить в коллекции «Никогда» или нужное значение и проверить снова.
- Реестр напрямую. Значение, которое политика должна записать:
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\MaxIdleTime(DWORD, миллисекунды; 3 часа = 10800000). Один участник добился результата, задав его вручную и убедившись, что политика не пишет туда своё. Параллельно проверитьHKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\MaxIdleTime(настройка уровня узла, без политики). - Свойства пользователя. Вкладка «Сеансы» у учётной записи (в домене или локально) имеет собственные лимиты и по умолчанию наследует настройки сервера; если там что-то задано, оно перекрывает узел.
- Обход: задача планировщика раз в 15 минут с
Invoke-RDUserLogoffдля сессий, простаивающих дольше нужного, по даннымGet-RDUserSession/query user. Работает независимо от того, кто и что переопределяет.
Порядок разбора у себя.
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v MaxIdleTimeи то же дляMaxDisconnectionTime: совпадает ли с политикой.Get-RDSessionCollectionConfiguration -CollectionName X -Connection: лимиты коллекции.- Свойства тестового пользователя → Сеансы.
- Журнал «TerminalServices-LocalSessionManager/Operational», событие 40: код причины 5 (лимит) подтверждает, что отключает именно лимит, а не сеть.
- Не забыть про политики пользовательской конфигурации того же раздела: они применяются к пользователю и перекрывают компьютерные при конфликте.
Про 30 минут. Это подозрительно круглое число: значение по умолчанию у некоторых шаблонов коллекций и у ряда сторонних инструментов управления. Если ни одна из четырёх точек не содержит его, искать агент управления или скрипт на сервере.
Лимиты сессий описаны в документации Microsoft.