"Застревание" сеансов терминала

1. ne_en 81 11.03.15 10:46 Сейчас в теме
После завершения удалённого приложения, на сервере остаётся активный сеанс, что в дальнейшем вызывает и другие проблемы.
Когда пользователь закрывает все запущенные удалённые приложения (у кого-то оно одно, у кого-то больше), то сеанс его остаётся запущенным (Дисконектед), и даже настройка вышибать разорванный сеанс через 5 минут не работает.
Я знаю, что решение задачи этой есть, встречал обсуждения, но как-то с решением тишина. Вопрошавший исчезает не объявив решил ли он её и как или оставляет ссылку на решение которое ему помогло, но ссылка такая оказывается уже не работающей.
Из-за этой проблемы потом вылезает следующая (не всегда, но достаточно часто, чтоб раздражать). Когда пользователь снова входит в УП, то загрузка "Застревает" и показывает чёрный экран (в подробностях). Вышибание сеанса (логофф) помогает сразу. Причём в любом случае, хоть вышибание при уже застрявшем, хоть перед такой повторной попыткой входа.
Чтоб сеанс самозавершился, помогает так же вышибание процессов этого пользователя rdpshell.exe и rdpinit.exe.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. dascon 11.03.15 15:52 Сейчас в теме
(1) ne_en, можно поставить настройках пользователя "Завершение отключенного сеанса - 1мин." и "При превышении ограничений или разрыве соединения - Завершить сеанс".
2. SaschaL 11.03.15 12:57 Сейчас в теме
добрый день! Можно по подробнее?
Какая операционная система используется? Программа для терминального доступа?
Используете стандарнтые терминалы MS Windows или сторонние терминалы.
Так на вскидку можно предположить то проблема в настройках самого терминального сервера, но это всего лишь мое предположение.
3. ne_en 81 11.03.15 13:08 Сейчас в теме
(2) SaschaL, Вин 2008 Р2 Стандарт. Клиенты разные Вин 7,8,8.1.
RDP Клиент виндовый.
Настройки сервера стандартные. Сервер стоит в датацентре, винда устанавливалась как и всем.
4. AlexO 135 11.03.15 13:22 Сейчас в теме
(2) SaschaL,
Так на вскидку можно предположить то проблема в настройках самого терминального сервера
Интересно узнать, в каких таких "настройках" проблема...
(1) ne_en,
После завершения удалённого приложения, на сервере остаётся активный сеанс
Если отключение сеанса выставлено, но не срабатывает - смиритесь, это полуглюк-полуфункционал работы сервера терминалов Windows...
5. ne_en 81 11.03.15 13:52 Сейчас в теме
(4) AlexO,
Если отключение сеанса выставлено, но не срабатывает - смиритесь, это полуглюк-полуфункционал работы сервера терминалов Windows...
А нужно победить. :) Особенно в связи с тем, что это доставляет заметные неудобства.
6. spacecraft 11.03.15 14:12 Сейчас в теме
(5) ne_en, ищите по splwow64.exe. Он не дает нормально закрыть сеанс.
9. ne_en 81 11.03.15 17:50 Сейчас в теме
(6) spacecraft,
ищите по splwow64.exe. Он не дает нормально закрыть сеанс
У меня такого процесса не зависает, да и нет его в активных.
(7) dascon,
можно поставить настройках пользователя "Завершение отключенного сеанса - 1мин." и "При превышении ограничений или разрыве соединения - Завершить сеанс".
Стоит 5 минут. Думаю одна или пять не играет роли.
(8) SaschaL,
можно выставить принудительное завершение приложений при отключении сеансов.
Была у нас подобная проблема, пользователи сваливали домой а программы оставались рабочими, у нас это была 1С.
ПРишлось выставить принудительное завершение приложений при отключении сеансов
Имеете ввиду в Планировщике задач? В принципе там есть тригер такой. Ток придётся для каждого пользователя описывать. Потому как это не нужно для админа. Под ним запускаются всякие задачи, которые долго работают. И я в 1Ске бывает всякие задачи запускаю и разрываю, чтоб не ждать... Кароче, хорошо бы решить задачу штатными средствами, а не плясками там, где вроде как должно работать. Попадалось про прописывание процессов как системных (в реестре), вот хорошо бы, чтоб попался тот, кто в курсе, чтоб я там не натворил делов.
А с 1Ской я поступил иначе. В полночь запускается 1Ска под именем "стопсистема" рассылает всем активным 1Скам сообщение (и себе тоже) и они завершаются без аварийного выхода. Это для архивирования базы и прочего сервиса.
8. SaschaL 11.03.15 17:13 Сейчас в теме
(4) AlexO, можно выставить принудительное завершение приложений при отключении сеансов.
Была у нас подобная проблема, пользователи сваливали домой а программы оставались рабочими, у нас это была 1С.
ПРишлось выставить принудительное завершение приложений при отключении сеансов
11. ne_en 81 11.03.15 18:39 Сейчас в теме
(8) SaschaL, Блин. Это на 12 пользователей для одного сервера и 16 для другого нужно создавать по задаче с тригером... Чтоб при обрыве пользователя вышибались два процесса именно этого пользователя (а не всех подряд)
10. l_men 15 11.03.15 18:05 Сейчас в теме
12. ne_en 81 11.03.15 21:21 Сейчас в теме
(10) l_men, Ну типа того. Вопрос лишь в том, можно ли с этими программами (rdpshell.exe и rdpinit.exe) так поступать. Всё таки сервер стоит не под рукой, а в другой стране, и если чего-то вклинит, то устранение косяка станет несколько проблемным...
13. DonTisto 12.03.15 10:46 Сейчас в теме
Попробуйте cmd сценарий на сервере по RemoteApp.
Сам текст сценария:
@echo off
SetLocal EnableExtensions
for /f "tokens=4 delims= " %%G in ('tasklist /FI "IMAGENAME eq tasklist.exe" /FI "username eq %username%" /NH') do SET RDP_SESSION=%%G
logoff %RDP_SESSION%


У меня это сделано для переподключения в случае отваливания кассового оборудования.


И посмотрите логи, может там чего есть указывающее на вашу проблему.
14. ne_en 81 12.03.15 11:29 Сейчас в теме
(13) DonTisto, Ничего в логах...
А скриптик попробую понять что он делает :)
15. DonTisto 12.03.15 11:41 Сейчас в теме
(14) ne_en, Да делает он самое простое: выводит список процессов и фильтрует их 1)запущеные от данного пользователя, 2) ищет приложение tasklist.exe. А дальше просто берет колонку с сессией в которой запущен данный процесс и передает logoff параметром. В итоге не нужны привелегии администратора, чтобы завершить сеанс.
16. ne_en 81 12.03.15 14:45 Сейчас в теме
(15) DonTisto, Ага. Вроде интересно. Но тут нюанс. Пользователи могут использовать несколько разных удалённых приложений. Вход во второе не разлогинит ли в данном случае первое?
Ну или скажем, куда прикрутить этот скрипт, чтоб он срабатывал когда сеанс пользователя разорван?
17. DonTisto 12.03.15 19:10 Сейчас в теме
(16) ne_en, Данный скрипт отработает так, как если бы человек зашел на удаленный рабочий стол и выполнил завершить сеанс.
Соответственно если они запускают с данного сервера несколько приложений, то они будут закрыты. Если с разных серверов, то нет.

По сути МОЖНО сделать скрипт который будет искать отключенные сеансы и завершать их, но данному скрипту нужны будут права администратора для завершения чужих сеансов.
18. ne_en 81 13.03.15 10:48 Сейчас в теме
(17) DonTisto,
По сути МОЖНО сделать скрипт который будет искать отключенные сеансы и завершать их, но данному скрипту нужны будут права администратора для завершения чужих сеансов.
Вот такой вариант устроит. Могу повесить на шедулер (с интервалом 5 минут). Но сам я написать скриптик не смогу. Прошу помощи в этом ;)
А ещё хорошо, если будут вышибаться все отключенные, кроме админа.
19. DonTisto 13.03.15 11:39 Сейчас в теме
Не проверял, так что надо проверить.
Диск - для русской версии
Disk - для английской
username - имя пользователя, которого не надо грохать.
Запускать с привилегиями администратора.
@echo off
SetLocal EnableExtensions
for /f "tokens=2 delims= " %%G in ('qwinsta.exe ^|findstr /c:"Диск " ^|findstr /V /c:"USERNAME" ^|findstr /V /c:"services"') do logoff %%G
20. ne_en 81 17.03.15 00:36 Сейчас в теме
(19) DonTisto, Спасибо. Я тут отдыхал. Завтра посмотрю.
21. sikuravv 01.04.15 19:17 Сейчас в теме
Судя по описанию проблемы - 10. l_men http://infostart.ru/public/280070/ - ПРАВ. Такая проблемс имеет место быть!!
24. ne_en 81 22.06.15 22:48 Сейчас в теме
(21) sikuravv, Да. Почитал. Но у меня печать осуществляется не средствами винды, поэтому этот процесс не застревает.
Но застревают другие.
"Можно добавить указанный процесс в список программ которые операционная система может завершить автоматически." Вот тут вот я и терзаюсь в сомнениях. Безопасно ли такое деяние в отношении rdpshell.exe и rdpinit.exe. А то ведь сервер стоит в абсолютной недосягаемости в случае прекращения функционирования RDP. (США.штат Калифорния :) )
22. ewqewqewq 15.04.15 16:14 Сейчас в теме
А почему не поставиь автоотключение ?
23. ne_en 81 22.06.15 22:43 Сейчас в теме
(22) ewqewqewq, Автоотключение стоит, но не автоотключает. Если в списке процессов у оторванного сеанса остановить процессы rdpshell.exe и rdpinit.exe, то дальше сеанс завершается.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот