Отключение сеанса rdp при простое windows 10

В данной заметке я покажу Вам, как можно завершить свой удаленный RDP сеанс на сервере в Windows, например, тогда, когда Вы просто закрыли RDP сеанс по

Содержание

  1. Как завершить собственный удаленный RDP сеанс в Windows?
  2. Завершаем удаленный RDP сеанс в Windows
  3. Windows 10 завершение сеанса rdp
  4. Описание проблемы
  5. Методы завершения сессии пользователя не терминале
  6. Как выкинуть пользователя из оснастки управления RDS
  7. Второй метод разлогинить пользователя на терминальном сервере
  8. Использование утилиты RWINSTA
  9. Как отключить пользователя через reset session
  10. Как отключить пользователя через logoff
  11. Выход пользователя через командлет Stop-TSSession
  12. Выход пользователя через командлет Stop-TerminalSession
  13. Настройка лимитов (таймаутов) для RDP/RDS сессий в Windows
  14. Автовыход пользователя на сервере Windows. Использование его для оптимизации работы вашего VDS / VPS сервера
  15. 1.«Задать ограничение по времени для отключенных сеансов»
  16. 2.«Задать ограничение по времени для активных, но бездействующих сеансов служб удалённых рабочих столов»
  17. 3.«Задать ограничение по времени для активных сеансов служб удалённых рабочих столов»
  18. 4.«Задать предел времени для выхода из сеансов RemoteApp»
  19. Сеанс удаленного рабочего стола или удаленного приложения не прекращается из-за splwow64.exe процесса
  20. Симптомы
  21. Причина
  22. Решение

Как завершить собственный удаленный RDP сеанс в Windows?

В данной заметке я покажу Вам, как можно завершить свой удаленный RDP сеанс на сервере в Windows, например, тогда, когда Вы просто закрыли RDP сеанс по крестику и не можете заново войти в этот сеанс, или, например, у Вас просто сеанс завис.

Сразу скажу, что способ, описанный ниже, подходит для администраторов, например, в тех случаях, когда, как я уже сказал, сеанс завис или Вы, не можете в него заново войти, при этом количество подключений к серверу, т.е. сеансов ограничено и у Вас при попытке подключения выходит ошибка, например, «Для сервера терминалов достигнуто максимально возможное число разрешенных подключений».

В данном случае Вы, конечно, можете попросить другого администратора выкинуть Вас, т.е. завершить Ваш сеанс, но, если этот администратор в данный момент отсутствует и других вариантов завершить сеанс (например, через «Диспетчер серверов» и т.д.) у Вас нет, при этом сервер перезагружать нельзя, другими словами Вам нужно завершить свой удаленный сеанс на сервере, и Вы не знаете, как это можно сделать, Вы можете использовать простой способ, который я сейчас и покажу.

Данный способ работает, еще начиная с Windows Server 2003, и заключается он в использовании командной строки CMD, а именно команды LOGOFF.

Завершаем удаленный RDP сеанс в Windows

Для того чтобы завершить удаленный RDP сеанс сначала необходимо определить идентификатор этого сеанса, можно конечно использовать и имя сеанса, но с идентификатором удобнее.

Примечание! Для выполнения перечисленных ниже действий Вы должны иметь соответствующие права.

Чтобы узнать идентификатор RDP сеанса выполните на своем клиентском компьютере следующую команду

Где, вместо TestServer пишите название Вашего сервера. В итоге на экране у Вас отобразится список подключенных к серверу пользователей, Вы ищите себя и в столбце ID смотрите и запоминаете идентификатор своего RDP сеанса.

Loggoff remote rdp user 1

После того как Вы узнали идентификатор RDP сеанса, Вы можете завершить этот сеанс, для этого пишите следующую команду

Loggoff remote rdp user 2

Где, 1 – это идентификатор сеанса, TestServer – это сервер, на котором необходимо завершить сеанс, /V – ключ для отображения информации о выполненных действиях.

После чего сеанс будет завершен, и теперь Вы можете заново подключиться к серверу, используя RDP, т.е. удаленный рабочий стол и продолжить работать.

Вот такой достаточно простой способ Вы можете использовать для завершения своего (да и не только своего) удаленного сеанса в операционной системе Windows, надеюсь, данный материал будет Вам полезен, пока!

Источник

Windows 10 завершение сеанса rdp

Добрый день! Уважаемые читатели и гости IT портала Pyatilistnik.org. Вчера я вас научил определять номер и ID сеанса пользователя на RDS ферме или терминальном сервере. Там я вам рассказывал, что это нужно в случаях, когда вам необходимо завершить сессию пользователя, по ряду причин, одна из таких, это просто ее зависание. После чего человек и подключиться не может заново и не может выйти из своего сеанса. Вы как администратор, должны уметь решать проблему с зависшими RDP сессиями, ниже я покажу свои методы и алгоритмы.

Описание проблемы

Есть RDS ферма из 15 хостов подключений на Windows Server 2012 R2. Сервера на то они и сервера, что работают постоянно. Если у вас на ферме не настроены тайм ауты времени беспрерывной работы, то пользователи могут неделями или месяцами висеть в авторизованных подключениях. Логично предположить, что это не очень хорошо и ведет к различным последствиям, одно из которых, это полное зависание сеанса, при котором человек не может подключиться к терминальному серверу и видит сообщение «Работает служба профилей пользователей» или еще вариант «Не удается завершить требуемую операцию», я уже не говорю про повреждение пользовательского профиля. В результате того, что RDS брокеры видят. что пользователь уже залогинен, они не дают ему переподключиться к другому Session Host серверу, даже если вы закроете на текущем новые подключения. Пока вы не сделаете выход пользователя из системы для этой сессии, она так и будет мешать. Давайте разбираться, как это делать.

Методы завершения сессии пользователя не терминале

Существует несколько методов позволяющие выкинуть пользователя с сервера.

Как выкинуть пользователя из оснастки управления RDS

И так, у меня есть мой любимый, тестовый пользователь в Active Directory, по имени Барбоскин Геннадий Викторович. Предположим, что он зашел на терминальный стол и нам по причине зависания его сессии, нужно сделать ему выход. Первый метод, это использование оснастки по управлению RDS фермой, я вам рассказывал, как ее собирать. Открываем раздел с вашей коллекцией RDS фермы. В поисковом фильтре указываем логин или фамилию нужного сотрудника. В результате получаем хост, где он работает.

kak vykinut polzovatelya 02

Щелкаем по нему правым кликом. В контекстном меню будет пункт «Выйти», это и соответствует завершению сессии (Log off). Так же есть пункт «Отключиться», если выберите его, то пользователь будет выброшен с терминального сервера, но его сессия останется на нем, данная операция равносильна тому, если пользователь просто нажал в окне с названием терминального сервера крестик.

kak vykinut polzovatelya 03

После того, как вы выбрали пункт «Выйти», начнется корректное завершение сессии пользователя на RDS ферме. Сам пользователь увидит сообщение «Работает служба профилей пользователей» и у него закроется окно без ошибки.

Второй метод разлогинить пользователя на терминальном сервере

Второй метод, похож на первый, за исключением того, что нам необходимо залогиниться на нужный сервер, открыть оснастку «Диспетчер задач» и уже из него произвести выход пользователя. Сказано сделано, о том, как вам попадать на нужного участника RDS фермы я рассказывал. Далее щелкаем правым кликом по области пуска и из контекстного меню выбираем пункт «Диспетчер задач». Кстати, вызвать «Диспетчер задач» можно и через сочетание клавиш CTRL+SHIFT+ESC.

kak vykinut polzovatelya 04

Находим нужного нам пользователя и щелкаем по нему правым кликом, в контекстном меню. нас будет интересовать пункт «Выйти». Выбираем его и завершаем сессию пользователя.

kak vykinut polzovatelya 05

Использование утилиты RWINSTA

или удаленно qwinsta /server:имя сервера | findstr barboskin.g

В моем примере имя сеанса rdp-tcp#172 и ее ID 515. Пишем команду:

vyhod polzovatelya 2

И в первом и во втором случае, пользователь будет разлогинен с данного сервера. Данную команду можно запускать удаленно, со своего рабочего места, главное, чтобы были права на log off. Данный метод меня ни раз выручал в моей практике, например случай с зависшей сессией на Windows Server 2016, где вместо логина пользователя было имя (4).

Как отключить пользователя через reset session

Завершить сессию пользователя можно и с помощью утилиты командной строки Reset Session. В текущем примере у моего Барбоскина Геннадия Викторовича имя сеанса rdp-tcp#16 с его ID 11. Данную утилиту можно применять как локально на самом терминальном сервере, так и на своей рабочей станции, тут так же есть ключ /server.

vyhod polzovatelya 3

Как отключить пользователя через logoff

Разлогинить пользовательскую учетную запись и даже зависшую, можно и через утилиту командной строки «LogOff». В данном примере у Геннадия Барбоскина имя сессии rdp-tcp#43. В командной строке от имени администратора введите:

vyhod polzovatelya 4

Выход пользователя через командлет Stop-TSSession

Есть такой замечательный командлет Stop-TSSession. Посмотрим на сервере ID и имя сеанса, для этого в открытой оболочке PowerShell введите:

В итоге я вижу, что у пользователя barboskin.g SessionID 3. Далее пишем

vyhod polzovatelya 1

Соглашаемся с тем, что будет производиться log off для данного пользователя. Проверяем, что сессия завершена. Можно вот таким простеньким скриптом из планировщика задач, разлогинивать сессии:

Выход пользователя через командлет Stop-TerminalSession

Данный командлет устанавливается отдельно, совместно с пакетом Pscx. Первым делом посмотрим локально или удаленно идентификаторы сессии пользователя, для которого мы хотим сделать log off. Выполняем команду:

Get TerminalSession 1

Нужный мне ID сеанса 427. Далее воспользуемся командлетом Stop-TerminalSession, чтобы выкинуть пользователя и завершить его сессию.

Источник

Настройка лимитов (таймаутов) для RDP/RDS сессий в Windows

По-умолчанию, когда пользователь со своего компьютера закрывает окно своей RDP/RDS сессией в терминальном клиенте (mstsc, rdcman или rdp html web клиент) простым нажатием по крестику в окне, без выполнения выхода (logoff), его сессия переходит в режим disconnected (разъединённый сеанс). В этом режиме все запущенные пользователем программы, открытые документы и окна продолжают работать на удаленном сервере и потреблять ресурсы.

По-умолчанию в Windows RDP сессия пользователя может находится в состоянии disconnected до перезагрузки компьютера или явного ее завершения пользователем или администратором. Это довольно удобно, т.к. пользователь может в любой момент подключиться к своей старой сессии и продолжить работу с открытыми программами и документами.

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

disconnected sesii ne otklyuchayutsya na rds rdp serve

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

quser dlitelnost rdp seansov prostoya rdp sess

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

При использовании RDS сервера, вы можете настроить параметры таймаутов сессий в настройках RDS коллекций на вкладке Session.

Укажите время, через которое нужно завершить отключенный сеанс в параметре End a disconnected session (по умолчанию срок сеанса неограничен – never). Также вы можете выставить максимальную длительность активной RDP сессии (Active session limit) и отключение бездействующего сеанса (Idle session limit). Это жесткие таймауты применяются для всех сессий в RDS коллекции.

nastrojka tajmautov sesij i parametrov perepodklyuch

Также можно настроить ограничение времени RDP сессии в свойства локального (консоль lusrmgr.msc) или доменного пользователя (консоль dsa.msc — ADUC).

nastrojki maks dlitelnosti sessij v svojstvah po

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

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

politiki ogranicheniya vremeni rdp seansov po vremen

По умолчанию эти параметры не настроены. Чтобы автоматически завершать отключенные RDP сеансы пользователей через 8 часов, включите политику “Set time limit for disconnected session” = Enabled, и в выпадающем списке выберите 8 часов.

politika set time limit for disconnected session

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

Источник

Автовыход пользователя на сервере Windows. Использование его для оптимизации работы вашего VDS / VPS сервера

Анализируя поступающие заявки наших клиентов в службу технической поддержки и обращения к консультантам, мы заметили, что множество наших клиентов сталкиваются с такой проблемой как «автовыход», не понимая, что это и как с ней бороться.

Любой сервер в том числе и виртуальный сервер должен работать в постоянном режиме 24 х 7 х 365. И соответственно пользователь, который запускает программы на выполнение на сервере, рассчитывает, что они будут работать в таком же режиме. Именно на это и рассчитывают наши клиенты. Однако устанавливая на VPS сервер различного рода десктопное программное обеспечение, которое разрабатывалось «умельцами» без мысли, что существуют компьютеры, не имеющие мониторов, отключившись от сервера через какое-то время замечают, что его программа перестала работать должным образом, при том что сервер активен и доступен. Замечают это как правило при следующем подключении к серверу для анализа данных с как подразумевалось работавшего ПО. Проблема, очевидно в том, что данное ПО что-то пытается брать со свойств экрана (разрешение, позиция курсора и т.д.) при том, что ни экрана, ни курсора при отключенном сеансе нет.

Данная проблема является частным случаем ограничения работы сеансов по времени, за которую отвечает узел групповой политики «Службы удаленных рабочих столов» с одноименным названием «Ограничение сеансов по времени». Он позволяет гибким образом настраивать время работы запущенных сеансов или Ваших сотрудников на сервере при организации рабочих мест, что позволяет Вам более оптимально использовать ресурсы арендуемого сервера Windows VDS.

Запустим на сервере редактор «Локальной групповой политики» нажав сочетание клавиш Win+R и Набрав команду GPEDIT.MSC

image loader

Далее необходимо перейти по следующему пути в ветке «Конфигурация пользователя», если Вы хотите произвести настройки для текущего пользователя или в ветке «Конфигурация компьютера», если Вы хотите настроить для всех пользователей сервера.

image loader

1.«Задать ограничение по времени для отключенных сеансов»

При помощи этого параметра Вы можете указать промежуток времени в минутах, часах или днях, на протяжении которого открытые программы будут продолжать работать после отключения от сервера.

Если Вы хотите, чтобы Ваша программа работала на сервере в постоянном режиме и не происходило «автовыхода» при отключении, то данный параметр следует указать как Включен и выбрать Никогда. Что является решение выше описанной ситуации.

image loader

Данный параметр можно так же использовать в моменты, когда рабочий день сотрудника закончен, но на выполнение некоторых автономных процессов, которые не требуют вмешательства пользователя, нужно еще дополнительное время, в таком случае можно указать Включено и указать необходимо количество времени.

2.«Задать ограничение по времени для активных, но бездействующих сеансов служб удалённых рабочих столов»

Бездействующим сеансом считается тот сеанс, когда удаленный рабочий стол начинает простаивать без каких-либо операций ввода, со стороны пользователя. Сотрудник может подключиться к удаленному рабочему столу сервера, а затем по завершении рабочего дня попросту забыть отключиться от сервера и уйти домой. В таком случае сеанс активен, но простаивает и ресурсы выделяемые сервером и зарезервированные для этого пользователя, простаивают и соответственно расходуются не эффективно. В таком случае можно указать Включено и указать необходимо количество времени, после которого при простое, сеанс будет завершен.

image loader

3.«Задать ограничение по времени для активных сеансов служб удалённых рабочих столов»

Данный параметр отвечает за завершение даже активного сеанса, скажем если политикой Вашей компании является достаточно строгий контроль рабочего времени и не допускаются переработки. То Вы можете установить это параметр на Включено и указать максимальный период рабочего времени. Соответственно по завершению рабочего дня, сеанс даже активного пользователя будет завершен, но за две минуты до отключения, пользователю будет предоставлено предупреждающее сообщение, чтобы он смог сохранить все выполненные за время подключения изменения и открытые рабочие документы.

image loader

Во втором и третьем случае обязательно включение параметра «Завершать сеанс при достижении ограничения по времени». Включение данного параметра указывает, чтобы производилось именно завершение сеанса пользователя, в противном случае будет производится только отключение сеанса, но не его завершение.

image loader

image loader

4.«Задать предел времени для выхода из сеансов RemoteApp»

Данный параметр позволяет Вам, завершать сеанс в момент, когда Вы не производили подключение к удаленному рабочему столу сервера, но подключение к серверу было установлено при помощи сторонних программ. При закрытии программы, если параметр «Не задан», то сеанс отключается, но не завершается. Для завершения сеанса необходимо указать Включено и установить время, так же доступен параметр «Немедленно».

Источник

Сеанс удаленного рабочего стола или удаленного приложения не прекращается из-за splwow64.exe процесса

В этой статье решается проблема, при которой удаленный рабочий стол, который указывает программу для запуска с помощью логотипа, не прекращается при выходе указанной программы.

Применяется к: Windows Server 2012 R2
Исходный номер КБ: 2513330

Симптомы

Сеанс удаленного рабочего стола, который указывает программу для запуска с логотипом, может не завершиться своевременно при выходе указанной программы. Удаленный сеанс может казаться пустым только с пустым фоном.

Эта программа может быть указана в статье «Запуск следующей программы по подключению» в параметрах клиента RDP или «Запуск следующей программы в logon» в свойствах пользователя Active Directory.

Причина

Указанная программа, возможно, породила новый процесс. В рамках логики завершения сеанса удаленного рабочего стола, если указанная программа порождает новый процесс, который новый процесс считается частью программы, и сеанс не прекращается до тех пор, пока этот процесс также не прекратится.

Один из сценариев, который соответствует этому критерию, — печать из 32-битного приложения на 64-битном хосте сеансов удаленного рабочего стола. Это действие печати splwow64.exe 32-битный 64-битный процесс thunking для spooler. Splwow64.exe имеет 3-минутное время, чтобы не допустить повторного повторного восстановления процесса во время интенсивной печати, поэтому он не выходит сразу после завершения печати. Это может привести к тому, что удаленный сеанс будет отображаться «висел» с пустым фоном.

Решение

Вы можете добавить splwow64.exe в следующий ключ реестра, чтобы сообщить операционной системе, что процесс может быть безопасно прекращен автоматически:

Имя значения: splwow64.exe
Тип данных: REG_DWORD
База: Hex
Данные значения: 0

Источник

Настройка лимитов (таймаутов) для RDP/RDS сессий в Windows

date25.05.2020
useritpro
directoryWindows 10, Windows Server 2016
commentsкомментариев 17

По-умолчанию, когда пользователь со своего компьютера закрывает окно своей RDP/RDS сессией в терминальном клиенте (mstsc, rdcman или rdp html web клиент) простым нажатием по крестику в окне, без выполнения выхода (logoff), его сессия переходит в режим disconnected (разъединённый сеанс). В этом режиме все запущенные пользователем программы, открытые документы и окна продолжают работать на удаленном сервере и потреблять ресурсы.

По-умолчанию в Windows RDP сессия пользователя может находится в состоянии disconnected до перезагрузки компьютера или явного ее завершения пользователем или администратором. Это довольно удобно, т.к. пользователь может в любой момент подключиться к своей старой сессии и продолжить работу с открытыми программами и документами.

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

disconnected сесии не отключаются на rds/rdp сервере

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

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

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

При использовании RDS сервера, вы можете настроить параметры таймаутов сессий в настройках RDS коллекций на вкладке Session.

Укажите время, через которое нужно завершить отключенный сеанс в параметре End a disconnected session (по умолчанию срок сеанса неограничен – never). Также вы можете выставить максимальную длительность активной RDP сессии (Active session limit) и отключение бездействующего сеанса (Idle session limit). Это жесткие таймауты применяются для всех сессий в RDS коллекции.

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

Также можно настроить ограничение времени 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 сеансов по времени

По умолчанию эти параметры не настроены. Чтобы автоматически завершать отключенные RDP сеансы пользователей через 8 часов, включите политику “Set time limit for disconnected session” = Enabled, и в выпадающем списке выберите 8 часов.

политика Set time limit for disconnected session

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

Установка таймаутов для RDP-сессий

В ходе удаленной работы пользователей, бывает важным выполнить настройку таким образом, чтобы программы, а также скрипты и макросы запущенные клиентом продолжали свою работу, а не закрывались сразу при разрыве сессии. В основе решения проблемы лежит всего лишь настройка таймаутов для RDP-сессий. Рассмотрим как это сделать.

Устанавливаем Службу удаленных рабочих столов. Для этого открываем “Панель управления сервером”. В открывшемся окне выбираем второй пункт — “Добавить роли и компоненты”.

В окне мастера установки ролей приводится общий ознакомительный материал. Данный текст будет появляться при каждой попытке добавить роли или компонент сервера. Чтобы эта информация не появлялась вновь, рекомендуем установить галочку “Пропускать эту страницу по умолчанию”. Нажимаем кнопку “Далее”.

Следующим шагом выбираем тип установки — “Установка служб удаленных рабочих столов”. Нажимаем “Далее”.

На следующем этапе выбираем тип развертывания — “Службы Multipoint”. Обычно этот параметр установлен по умолчанию. Кликаем по кнопке “Далее”.

Следующим шагом выбираем сервер для которого выполняется установка. В нашем случае сервер уже добавлен, так как рассматриваем установку на единичный сервер не добавленный в домен. Нажимаем “Далее”.

Следующим шагом подтверждаем выбор. Установим галку, которая позволит системе перезагрузить сервер автоматически в случае необходимости. Нажимаем кнопку “Развернуть”.

Важно! В ходе установки могут быть закрыты все RDP-соединения, а также сервер может быть несколько раз перезагружен без дополнительного уведомления об этом.

Дожидаемся окончания процесса установки.

В окне трижды написано “Успешно”. Закрываем окно установки.

Приступаем к настройке групповых политик.

Для настройки групповых политик запускаем соответствующую консоль. В программе выполнить (Windows + R) вводим “gpedit.msc”. Нажимаем кнопку “OK” или Enter.

В открывшемся окне следуем по пути Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Узел сеансов удаленных рабочих столов → Ограничение сеансов по времени.

Следующим параметрам необходимо установить значение “Включено”:

  • Завершать сеанс при достижении ограничения по времени — Установка данного параметра разрешает или запрещает использовать таймауты.
  • Задать ограничение по времени для активных, но бездействующих сеансов служб удаленных рабочих столов — параметр определяет задержку для неактивных сеансов, когда пользователь бездействует.
  • Задать ограничение по времени для отключенных сеансов — параметр задает таймаут для завершенных сеансов, когда сеанс завершен, но в фоновом режиме запущены некоторые процессы.

Для изменения значений, кликаем правой кнопкой мыши по каждому из пунктов. В контекстном меню выбираем “Редактировать”. Аналогичное окно откроется по двойному клику.

В открывшемся окне устанавливаем состояние как “Включено”. Затем устанавливаем временные рамки. По окончании нажимаем кнопку “OK”.

Выбор временных диапазонов остается на усмотрение системного администратора.

Параметр “Завершать сеанс при достижении ограничения по времени” не имеет временных диапазонов. Данный параметр нужно просто включить.

Удаленный рабочий стол Windows 10 подключается к черному экрану, а затем отключается

У меня возникла эта проблема, так как я обновил (новую установку) до Windows 10 Professional. Раньше я подключался к своему компьютеру через RDP через WAN и LAN без проблем.

После установки W10 и настройки все правильно (порты, статический IP и т. д.) я все еще могу подключиться, но в течение дня он случайно ударяет меня, и я не могу успешно войти в систему после этого. Он делает безопасное соединение и подключается, но я получаю черный экран без курсора и отключается через несколько секунд после этого без каких-либо ошибок.

Это рабочий стол Intel i7 с графическим процессором nVidia с последними драйверами.

Вещи, которые я знаю /пробовал:

Когда проблема возникает, я могу реплицировать ее на Windows, Mac или iPads /iPhones через LAN или WAN.

Перезагрузка временно исправляет проблему, пока она не начнет повторяться.

Отключение кеширования растрового изображения или изменение разрешения на RDP-клиенте не устраняет его.

Нажатие CTRL + ALT + END ничего не делает.

Создал новую учетную запись и попытался войти в нее, чтобы проверить, связана ли она с учетной записью, но не входил.

Сделал ли sfc /scannow , чтобы выполнить сканирование системы и исправить поврежденные файлы, это получилось без ошибок.

Я проверил журнал событий и, видимо, WINLOGON продолжает сбой. Он говорит только, что «процесс входа в Windows неожиданно завершен»

У меня закончились варианты исправления, любая помощь будет оценена.

2 ответа

Удаленный рабочий стол — черный экран смерти

Проблема

Используя Remote Desktop, удаленный экран становится черным сразу после входа в систему, и у вас нет контроля. Эта проблема, по-видимому, вызвана кэшированием экрана и доступом к системе с различным разрешением экрана или размерами окна RDP.

Решение (ы)

  • Во время входа в систему и застрявшего на черном экране смерти
    1. Нажмите CTRL + ALT + END или CTRL + ALT + FN + END на ноутбуках. Это вызывает диспетчер задач, и в большинстве случаев вы сразу увидите Рабочий стол.
    2. Если только диспетчер задач, но не рабочий стол, попробуйте запустить Explorer из диспетчера задач: File > New Task > Explorer.exe
  • Попробуйте подключиться с другим разрешением.
  • Доступ к удаленным компьютерам Управление компьютером или службами MMC и запуск службы служб удаленных рабочих столов.
  • Обновите драйверы дисплея, как на соединительной машине, так и на компьютере, к которому вы подключаетесь.
    1. Некоторые пользователи испытывают это с помощью графических процессоров Nvidia. Программа Geforce Experience имеет функцию «Share», а также «теневую игру»; когда это разрешено, некоторые люди сталкиваются с этой проблемой. Попытайтесь отключить его, перезапустите и посмотрите, помогает ли он.
    2. Проверьте настройки дисплея на удаленном хосте и посмотрите, есть ли фантомный монитор. Может потребоваться изменить, какой монитор является основным.
  • Запустите новый RDP-клиент на рабочем столе, но прежде чем вы нажмете CONNECT, нажмите ссылку SHOW OPTIONS, перейдите на вкладку DISPLAY и установите КОНФИГУРАЦИЮ DISPLAY для низкого разрешения, например 640 × 480.
  • Попробуйте отключить быстрый запуск
    • Эта функция работает только тогда, когда вы выполняете SHUTDOWN, а затем Boot. Это не влияет на RESTART.
    • Перейдите на панель управления, параметры питания и выберите «Выбрать», «Кнопки питания», расположенные слева.
    • Затем выберите «Изменить настройки», которые в настоящее время недоступны в верхней части экрана .
    • Опустите снимок в окне, снимите флажок Fast Startup.

    Предупреждение

    • Отключить кэширование растровых изображений для ваших соединений RDP
    • Подтвердить учетную запись RDP имеет полные права администратора на удаленной системе.
    • Доступ к удаленному компьютеру с использованием согласованного разрешения. Полный экран может помочь.
    • Подтвердите, что видеодрайверы обоих систем обновлены.

    Ресурсы

    (Google на сайтах поддержки Microsoft, у меня слишком низкая репутация для публикации ссылок)

    • Отключить кэширование Bitmap 2012
    • Исправление для «Черный экран во время сеанса удаленного помощника в Windows Vista, Windows Server 2008, Windows 7 или Windows Server 2008 R2»
    • Экран блокировки черный или пустой и не реагирует на действия клавиатуры или салфетки в Windows 10 Technical Preview

     Отключить Bitmap Caching

    У меня была такая же проблема — переключение с 32-битного на 24-битный, и это позволит вам подключиться как обычно. Все остальные настройки могут быть оставлены по умолчанию.

В ходе удаленной работы пользователей, бывает важным выполнить настройку таким образом, чтобы программы, а также скрипты и макросы запущенные клиентом продолжали свою работу, а не закрывались сразу при разрыве сессии. В основе решения проблемы лежит всего лишь настройка таймаутов для RDP-сессий. Рассмотрим как это сделать.

Устанавливаем Службу удаленных рабочих столов. Для этого открываем “Панель управления сервером”. В открывшемся окне выбираем второй пункт — “Добавить роли и компоненты”.

В окне мастера установки ролей приводится общий ознакомительный материал. Данный текст будет появляться при каждой попытке добавить роли или компонент сервера. Чтобы  эта информация не появлялась вновь, рекомендуем установить галочку “Пропускать эту страницу по умолчанию”. Нажимаем кнопку “Далее”.

Следующим шагом выбираем тип установки — “Установка служб удаленных рабочих столов”. Нажимаем “Далее”.

На следующем этапе выбираем тип развертывания — “Службы Multipoint”. Обычно этот параметр установлен по умолчанию. Кликаем по кнопке “Далее”.

Следующим шагом выбираем сервер для которого выполняется установка. В нашем случае сервер уже добавлен, так как рассматриваем установку на единичный сервер не добавленный в домен. Нажимаем “Далее”.

Следующим шагом подтверждаем выбор. Установим галку, которая позволит системе перезагрузить сервер автоматически в случае необходимости. Нажимаем кнопку “Развернуть”.

Важно! В ходе установки могут быть закрыты все RDP-соединения, а также сервер может быть несколько раз перезагружен без дополнительного уведомления об этом.

Дожидаемся окончания процесса установки.

В окне трижды написано “Успешно”. Закрываем окно установки.

Приступаем к настройке групповых политик.

Для настройки групповых политик запускаем соответствующую консоль. В программе выполнить (Windows + R) вводим “gpedit.msc”. Нажимаем кнопку “OK” или Enter.

В открывшемся окне следуем по пути Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Узел сеансов удаленных рабочих столов → Ограничение сеансов по времени.

Следующим параметрам необходимо установить значение “Включено”:

  • Завершать сеанс при достижении ограничения по времени — Установка данного параметра разрешает или запрещает использовать таймауты.
  • Задать ограничение по времени для активных, но бездействующих сеансов служб удаленных рабочих столов — параметр определяет задержку для неактивных сеансов, когда пользователь бездействует.
  • Задать ограничение по времени для отключенных сеансов — параметр задает таймаут для завершенных сеансов, когда сеанс завершен, но в фоновом режиме запущены некоторые процессы.

Для изменения значений, кликаем правой кнопкой мыши по каждому из пунктов. В контекстном меню выбираем “Редактировать”. Аналогичное окно откроется по двойному клику.

В открывшемся окне устанавливаем состояние как “Включено”. Затем устанавливаем временные рамки. По окончании нажимаем кнопку “OK”.

Выбор временных диапазонов остается на усмотрение системного администратора.

Параметр “Завершать сеанс при достижении ограничения по времени” не имеет временных диапазонов. Данный параметр нужно просто включить.

После включения всех опций окно будет выглядеть следующим образом.

На этом настройка окончена.

Аverage rating : 3.7

Оценок: 3

220140
Минск
ул. Домбровская, д. 9

+375 (173) 88-72-49

700
300

ООО «ИТГЛОБАЛКОМ БЕЛ»

220140
Минск
ул. Домбровская, д. 9

+375 (173) 88-72-49

700
300

ООО «ИТГЛОБАЛКОМ БЕЛ»

700
300

Содержание

  1. Настройка лимитов (таймаутов) RDP-сессий на терминальном сервере Windows
  2. Настройка на терминальном сервере
  3. Windows 2012 и выше
  4. Windows 2008 R2 и ниже
  5. Настройка через GPO
  6. Использование фильтров
  7. Настройка лимитов (таймаутов) для RDP/RDS сессий в Windows
  8. Настройка таймаутов RDP-сессий на сервере Windows
  9. Виртуальный сервер на базе Windows
  10. Что это такое?
  11. Установка службы
  12. Настройка групповых политик

Настройка лимитов (таймаутов) RDP-сессий на терминальном сервере Windows

По умолчанию, на терминальном сервере RDP-сессия длится до тех пор, пока пользователь ее явно не прервет. В некоторых случаях, это может привести к зависанию профиля или некоторых запущенных приложений.

Рекомендуется задавать лимит на сеансы, по достижении которого принудительно завершать терминальные сессии и выполнять выход пользователя из системы.

Настройка на терминальном сервере

Сессии можно настроить для конкретного сервера в настройках сервера терминалов. Процесс немного отличается в зависимости от версии операционной системы Windows.

Windows 2012 и выше

В диспетчере серверов переходим в службы удаленных рабочих столов:

Переходим в коллекцию, для которой хотим поменять настройки сеанса:

В свойствах коллекции кликаем по Задачи — Изменить свойства:

Переходим в раздел Сеанс и выставляем ограничения:

* где Окончание разъединенного сеанса — время, через которое для пользователей с завершенными сеансами произойдет выход из системы; Ограничение бездействующего сеанса — время, через которое сеанс перейдет в разъединенный, если пользователь в нем не работает (не проявляет никакой активности).

Windows 2008 R2 и ниже

Нажимаем ПускАдминистрированиеСлужбы удаленных рабочих столовКонфигурация узла сеансов удаленных рабочих столов:

В разделе «Подключения» дважды кликаем по RDP-Tcp:

На вкладке «Сеансы» ставим галочку Переопределить параметры пользователя и выставляем необходимые лимиты:

* где Завершение отключенного сеанса — время, по достижении которого отключенный сеанс будет завершен, а для пользователя будет выполнен выход; Ограничение бездействующего сеанса — ограничение на сеанс, в котором пользователь не работает.

Настройка через GPO

Если терминальных серверов много или необходимо централизованно задать политику ограничения сессий, можно воспользоваться групповыми политиками Active Directory.

Заходим в консоль управления политиками — создаем политику с любым понятным названием — переходим в настройку созданной политики.

В зависимости от необходимости применять политику к пользователям и/или компьютерам, используем следующие ветки для настройки:

  • Конфигурация компьютераПолитикиАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовОграничение сеансов по времени
    (Computer ConfigurationPoliciesAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostSession Time Limits)
  • Конфигурация пользователяПолитикиАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовОграничение сеансов по времени
    (User ConfigurationPoliciesAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostSession 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

Настройка таймаутов RDP-сессий на сервере Windows

В инструкции описан процесс настройки лимитов RDP-сессий с помощью групповых политик на виртуальных серверах с операционной системой семейства Windows Server.

Виртуальный сервер на базе Windows

  • Лицензия включена в стоимость
  • Тестирование 3-5 дней
  • Безлимитный трафик

Что это такое?

Чтобы серверы выполняли определенную работу, например макросы или скрипты, даже тогда, когда пользователь к ним не подключен, необходимо выполнить настройку параметров времени ожидания и повторного подключения для сеансов служб удаленных рабочих столов.

Установка службы

Чтобы установить Службу удаленных рабочих столов, откройте панель управления сервером и нажмите Add roles and features.

Выберете Remote Desktop Services Installation.

Примечание: по умолчанию эта служба не установлена на сервер.

Для того чтобы установить службу на ваш локальный VPS выберете опцию MultiPoint Services.

Выберете ваш сервер из пула и нажмите Next.

На следующем шаге отметьте галочкой пункт об автоматической перезагрузке сервера после установки службы и нажмите Deploy.

Начнется развертывание службы, которое может занять продолжительное время, по окончанию которого, ваш сервер будет перезагружен.

После перезагрузки вы увидите следующие сообщения об успешном развертывании.

Настройка групповых политик

Чтобы выполнить настройку групповых политик необходимо открыть консоль GPMC, это можно сделать с помощью команды gpmc.msc.

Перейдите по следующему пути Конфигурация компьютераПолитикиАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовОграничение сеансов по времени
(Computer ConfigurationPoliciesAdministrative TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostSession Time Limits)

Следующие параметры необходимо перевести в состояние Enabled (Включено):

  • End session when time limits are reached (Завершать сеанс при достижении ограничения по времени) — опция запрещает или разрешает таймауты.
  • Set time limit for active but idle Terminal Services sessions (Задать ограничение по времени для активных, но бездействующих сеансов служб удаленных рабочих столов) — опция задает таймаут для неактивных сеансов.
  • Set time limit for disconnected sessions (Задать ограничение по времени для отключенных сеансов) — опция задает таймаут для завершенных сеансов.

Чтобы изменить состояние опции, выберете нужную и с помощью правой кнопки мыши выберете пункт Edit.

В открывшемся окне выберете Enabled и требуемое время, нажмите Apply.

После того как как все опции будут включены, окно будет выглядеть следующим образом.

Когда пользователь со своего компьютера закрывает окно своей RDP/RDS сессии в терминальном клиенте (mstsc.exe, RDCMan или RDP HTML WEB клиенте) простым нажатием по крестику в окне, без выполнения выхода (logoff), его сессия переходит из активного режима в режим disconnected (разъединённый сеанс). В этом режиме все запущенные пользователем программы, открытые документы и окна продолжают работать на удаленном сервере и потреблять ресурсы.

Содержание:

  • Автоматическое завершение неактивных RDP сессий в Windows
  • Сообщения о превышении длительности RDP сессий

По-умолчанию RDP сессия пользователя в Windows может находится в состоянии disconnected до перезагрузки компьютера или явного ее завершения пользователем или администратором. Это довольно удобно, т.к. пользователь может в любой момент подключиться к своей старой сессии и продолжить работу с запущенными программами и открытыми документами.

На следующем скриншоте видно, что отключенные сессии пользователей на RDS сервере с Windows Server 2019 потребляют около 35% памяти сервера.

disconnected сесии не отключаются на rds/rdp сервере

Кроме того незавершенные сессии могут блокировать открытые файлы на файловых серверах, вызывать проблемы с корректным сохранением данных в приложениях, профилях или User Profile Disks. Кроме наличие старых RDP сессий часто вызывает проблему блокировки учетной записи пользователей в домене после смены пароля (когда RDS сессии продолжает работать под старыми паролем пользователя).

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

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

Также вы можете вывести информацию о длительности сессий пользователей в RDS фермы с помощью PowerShell скрипта (укажите FQDN вашего сервера RDS Connection Broker):

$connectionBrocker = “MSK-RDSMAN.WINITPRO.RU"
Get-RDUserSession -ConnectionBroker $connectionBrocker |select-object -Property CollectionName, HostServer, DomainName, UserName, ServerIPAddress, CreateTime, DisconnectTime,  SessionState, IdleTime , SessionID , `
@{Name='SessionAge ([days.]hours:minutes)';Expression={ ((get-date ) - $_.CreateTime) } }

Вы можете настроить максимальную длительность активных, отключенных и простаивающих (без активности пользователя) сессии для Remote Desktop Services.

Автоматическое завершение неактивных RDP сессий в Windows

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

Если у вас развернута полноценная Remote Desktop Services ферма на Windows Server, вы можете настроить параметры таймаутов сессий пользователей в настройках RDS коллекций на вкладке Session.

Укажите время, через которое нужно завершить отключенный сеанс в параметре End a disconnected session (по умолчанию длительность RDP сеанса не ограничена – Never). Также вы можете выставить максимальную длительность активной RDP сессии (Active session limit) и отключение бездействующего сеанса (Idle session limit). Это жесткие таймауты применяются для всех сессий в RDS коллекции.

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

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

Параметры таймаутов 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 сеансов по времени

По умолчанию эти параметры не настроены. Чтобы автоматически завершать отключенные RDP сеансы пользователей через 8 часов, включите политику “Set time limit for disconnected session” = Enabled, и в выпадающем списке выберите 8 часов.

политика Set time limit for disconnected session

Сохраните изменения и обновите настройки групповых политик в Windows (gpupdate /force). Новые настройки таймаутов будут применяться только к новым RDP сеансам, текущие сеансы придется завершить вручную.

Настройки GPO имеют более высокий приоритет, чем настройки таймаутов в коллекции RDS.

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

Параметры таймаутов для RDP сессий, которые задаются политиками можно также настроить напрямую через реестр. Указанным выше политикам соответствую следующие DWORD параметры в ветке реестра HKLMACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services

  • MaxDisconnectionTime
  • MaxIdleTime
  • MaxConnectionTime
  • MaxDisconnectionTime
  • RemoteAppLogoffTimeLimit

Например, чтобы установить максимальную продолжительность для отключенной RDP сессии в 15 минут (90000 мс), нужно изменить параметр реестра с помощью такой команды PowerShell:

Set-ItemProperty "HKLM:SOFTWAREPoliciesMicrosoftWindows NTTerminal Services" -Name MaxDisconnectionTime -Type 'DWord' -Value 900000

Также вы можно можете задать ограничение времени RDP сессии на вкладе sessions в свойствах локального (консоль lusrmgr.msc) или доменного пользователя (консоль dsa.msc — ADUC). Здесь доступны следующие параметры:

  • End a disconnected session
  • Active session limit
  • Idle session limit
  • When a session limit is reached or connection is broken: Disconnect from session или End Session
  • Allow reconnection: From any Client или From originating client only

настройки макс. длительности сессий в свойствах пользователя

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

Если у вас развернут RD Gateway Server для доступа к RDS серверам, вы можете настроить отдельные таймауты для пользователей, подключенных через RDGW (откройте политику авторизации подключений и перейдите на вкладку Timeouts).

rd gateway настройка таймаутов для подключений пользователей

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

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

Сообщения о превышении длительности RDP сессий

После того, как вы настроили политики с таймаутами RDS, пользователи увидит такое сообщение, перед завершением своей сессии:

Idle timer expired
Session has been idle over its time limit.
It will be disconnected in 2 minutes.
Press any key to continue the session.

сообщение о простаивающей сесии в windows через 2 минуты

При этом в логах хоста появляется Event ID 26.

Подробнее о логах RDP подключений. [/aler]

событие простаивающей rdp сессии

Вы можете отключить это предупреждение, установив в классе WMI Win32_TSSessionSettings значение EnableTimeoutWarning = 0.

Set-WmiInstance -Path "\localhostrootCIMV2TerminalServices:Win32_TSSessionSetting.TerminalName='RDP-Tcp'" -Argument @{EnableTimeoutWarning=0}

Теперь, когда Windows будет автоматически завершать простаивающие RDP сеансы, пользователь получит от RDP клиента такое сообщение:

Your Remote Desktop Services session ended because the remote computer didn’t receive any input from you.

rds сессия завершена из-за неактивности пользователя

В некоторых случаях вы можете столкнуться с такой ошибкой в RDP клиенте:

Your Remote Desktop Services session has ended.
Another user connected to the remote computer, so your connection was lost. Try connecting again, or contact your network administrator.

rds сессий завершена другим пользователем

Это означает, что кто-то другой вошел на компьютер через RDP (когда количество одновременных RDP сессий на компьютере ограничено параметром Limit number of connections, например, в десктопных версиях Windows доступен только один сеанс). Либо вы повторно вошли на удаленных RDP/RDS хост с нового компьютера.

Вы можете разрешить множественные подключения под одним пользователем к RDP хосту с помощью параметра GPO Restrict Remote Desktop Services users to a single Remote Desktop Services session = Disabled (в ветке разделе Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections).

групповая политика - ограничить количесвто сессий для одного пользователя до одной

  • Remove From My Forums
  • Вопрос

  • Во время работы пользователей на сервере через RDP иногда происходит отключение их сеанса. Ошибку выдает — отключение в связи с ошибками протокола. Что это такое, и как это можно предотвратить?

Ответы

  • Судя по всему, проблема была в отключении питания сетевой карты при простое. Я убралгалочку с «разрешить отключение питания устройства для экономии энергии» — и проблема пропала. 
    Непонятно, почему РДП срабатывал именно так — ведь после включения питания карты сенс должен был восстанавливаться нормально… Но факт остается фактомSmile

    • Помечено в качестве ответа

      29 июня 2009 г. 13:08

  • Remove From My Forums
  • Question

  • Hi,

    I have a user that works from home in the morning and remote controlls his desktop in the office, after doing what he needs to do he then disconnects (clicks the close cross on the top bar) so that everything he needs stays open and running, he then gets
    into the office an hour or so later and finds that everything has been closed and it is as if he has logged out.

    Currently running Windows 10 Enterprise 1607 on both devices, and both are patched up to Jan 2018.

    EDIT: All Group Policies regarding remote desktop service are set to not configured 

    • Edited by

      Wednesday, February 7, 2018 12:50 PM

  • Remove From My Forums
  • Question

  • Hi,

    I have a user that works from home in the morning and remote controlls his desktop in the office, after doing what he needs to do he then disconnects (clicks the close cross on the top bar) so that everything he needs stays open and running, he then gets
    into the office an hour or so later and finds that everything has been closed and it is as if he has logged out.

    Currently running Windows 10 Enterprise 1607 on both devices, and both are patched up to Jan 2018.

    EDIT: All Group Policies regarding remote desktop service are set to not configured 

    • Edited by

      Wednesday, February 7, 2018 12:50 PM

Like this post? Please share to your friends:
  • Отключить автоматический поиск принтеров в сети windows 10
  • Отключить автоматический перезапуск после сбоя windows 10 для чего
  • Отключить автозапуск со сменных носителей windows 10
  • Отключить автозапуск с hdd windows 10
  • Отключить автозапуск майкрософт эйдж windows 10