gifts2017

Автозакрытие висящих терминальных сессий

Опубликовал Аркадий Кучер (Abadonna) в раздел Администрирование - Сервисные утилиты

Программа автоматически закрывает висящие терминальные сессии со статусом
"Disconnect". Кроме того позволяет закрыть активные сессии принудительно (все или выборочно)
Новая версия: выполнено в виде сервиса (службы)
Столкнулся с проблемой, описанной в http://www.infostart.ru/projects/484/?&desc=1&ref=174
Врожденная лень не позволила поискать готовое решение (ссылку мне потом дали),
поэтому написал свою на другом принципе.
Программу следует запускать на терминальном сервере (см. readme)

Скачать файлы

Наименование Файл Версия Размер
- 369
.1239970710 269,86Kb
25.09.09
369
.1239970710 269,86Kb Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. VasilyKushnir (vasilykushnir) 19.04.07 11:37
Вещь жутко плезная. Но как всегда есть пожелание:
Предусмотреть режим, чтобы при запуске (по расписанию к примеру) вырубались все терминальные сессии независимо от статуса. Сама же приблуда при этом будет вызыватся с консоли - так что терминалки можно глушить и не оглядыватся...
2. TED (ted) 19.04.07 12:37
Хорошая весчь.
Особенно название понравилось ;)
3. Аркадий Кучер (Abadonna) 19.04.07 13:02
По просьбам:
LogoffAll.exe – просто убивает ВСЕ терминальные сессии и сама выключается.
4. VasilyKushnir (vasilykushnir) 19.04.07 13:11
На название я сразу обратил внимание - и главное, что полностью соответствует функционалу...
Спасибо за доработку.
5. Оля Радкова (Ворона) 19.04.07 13:11
:)
предлагаю еще замутить Цензура.exe,чотб заменяла(переименовывала) все подозрительные названия антонимами!!!!
а Абадонне нужно назначить кого-нибудь замом для пополнения словаря! ;)
6. Аркадий Кучер (Abadonna) 19.04.07 13:14
До чего испорченный народ!
Nah = New Abadonna Hit :)
7. Оля Радкова (Ворона) 19.04.07 13:22
ну до чего же дисциплинирована,однако! дважды прочла "Вы уже оценивали эту разработку!"
8. Валерий (VV) 20.04.07 00:33
Оч хорошо! А Цитриковские сессии убивает -никто не пробовал? А то на живых людях страшно... :)))
9. vip (vip) 21.04.07 15:03
Красивше LogOffAll.exe заменить на LogNah.exe с параметром -NahAll. :)
10. Аркадий Кучер (Abadonna) 21.04.07 15:22
>Красивше LogOffAll.exe заменить на LogNah.exe с параметром -NahAll. :)
Надо было второй назвать LogVP ;)
11. Александр (imsoftware) 27.04.07 17:17
14. Николай (Userman) 23.07.07 15:24
Запустил прогу. Она не видит ни одну сессию. :(
15. Аркадий Кучер (Abadonna) 23.07.07 17:20
>Запустил прогу. Она не видит ни одну сессию. :(
Что могу сказать? У меня на Win2003 пошла с ходу и до сих про трудится...
На разные варианты я не проверял.
16. Mihenius (mihenius) 02.08.07 17:07
Мои комменты кто-то потер.
Тоже самое не работают обе программы.
Стоит Win2k3 r2 Standart sp1, сессий не видит
17. Аркадий Кучер (Abadonna) 03.08.07 04:44
(16,14) Давай для начала проверим такую вещь, запустите батник с текстом
query session > C:\session.txt
Если на диске С появится файл session.txt - бум проверять дальше, не появится - не судьба
18. Mihenius (mihenius) 03.08.07 13:24
Я уже сделал тоже самое через батник с командой
taskkill /f /im 1cv7.exe /t >E:\Base\ExtForms\Exit\1cKill.txt
1cKill.txt - туда пишется лог, это если кому надо )
19. Mihenius (mihenius) 03.08.07 13:25
СЕАНС ПОЛЬЗОВАТЕЛЬ ID СТАТУС ТИП УСТР-ВО
rdp-tcp 65536 Прием rdpwd
rdp-tcp#118 Улитина 2 Активно rdpwd
rdp-tcp#86 Улитина 3 Активно rdpwd
rdp-tcp#103 Жукова 1 Активно rdpwd
rdp-tcp#105 Семячков 6 Активно rdpwd
rdp-tcp#106 Недавняя 7 Активно rdpwd
Денисов 8 Диск rdpwd
rdp-tcp#101 Воронина 9 Активно rdpwd
rdp-tcp#120 лапшина 12 Активно rdpwd
rdp-tcp#48 Уляшева 13 Активно rdpwd
rdp-tcp#128 Удоратин 14 Активно rdpwd
rdp-tcp#85 оператортц3 16 Активно rdpwd
rdp-tcp#91 Кудинова 20 Активно rdpwd
rdp-tcp#119 Турьев 19 Активно rdpwd
Орбан 21 Диск rdpwd
>rdp-tcp#133 Админ 23 Активно rdpwd
Кудинова 27 Диск rdpwd
Гейкина 4 Диск rdpwd
rdp-tcp#134 жовтоног 25 Активно rdpwd
rdp-tcp#90 Савенков 22 Активно rdpwd
rdp-tcp#97 Ершова 10 Активно rdpwd
rdp-tcp#100 Некрасов 17 Активно rdpwd
rdp-tcp#111 Малышева 29 Активно rdpwd
rdp-tcp#113 Гафетдинова 15 Активно rdpwd
rdp-tcp#125 Жукова 28 Активно rdpwd
rdp-tcp#131 никитин 24 Активно rdpwd
rdp-tcp#135 кодировщик 5 Активно rdpwd

Лог готов, кстати проги на всякий в исключениях Dep
20. Аркадий Кучер (Abadonna) 03.08.07 13:38
21. Аркадий Кучер (Abadonna) 04.08.07 02:27
2Mihenius
Вот что получается, когда пишешь конкретно под себя! У меня-то стоит англоязычный Win2003, и висящие я определяю по слову "disconnect". Кинь, плиз, то же, что и в (19), но чтобы был хоть один "висняк" (закрыть сеанс 1С крестом RD). Чтобы узнать - а как оно по-русски пишет ;)
22. Mihenius (mihenius) 09.08.07 11:53
rdp-tcp#106 Недавняя 7 Активно rdpwd
Денисов 8 Диск rdpwd
rdp-tcp#101 Воронина 9 Активно rdpwd

в логе есть такие записи например: Денисов 8 Диск rdpwd
и другие пишет Имя Юзера ID "Диск" rdpwd
23. Аркадий Кучер (Abadonna) 09.08.07 12:14
Ясно, доделаю. Забыл, что можно русскую систему поставить ;)
Всю жизнь на серваки ставлю только англ.
24. Mihenius (mihenius) 10.08.07 13:03
Ну есть же молодые админы, кот. аглицкого не знают ...
Это раньше была рекомендация ни в коем случае не ставить локализацию ... или огребете проблем, лучше англ + муи
25. Mihenius (mihenius) 10.08.07 13:10
Кстати еще есть проблема. После убивания сессий, записи в 1cv7.lck не очищаются.
1с-ка при запуске все еще думает что кто-то в базе есть, делаем батник на удаление этих файлов в базах.
Так вот может вам прикрутить удаление этого файла ... правда придется искать путь БД ...
Это так рюшечка ....
26. Аркадий Кучер (Abadonna) 10.08.07 13:25
>ак вот может вам прикрутить удаление этого файла ... правда придется искать путь БД ...
Найти путь к каталогу юзверя, если его терминальное имя совпадает с 1С-ким - как два байта отослать.
На крайняк бум пробовать мочить все lck, ктр. удалятся - те и есть висняки.
Не след. неделе сделаю, пока некогда
27. Аркадий Кучер (Abadonna) 22.08.07 07:49
Версия 1.8.1.0
Учтено, что существуют и русскоязычные сервера ;)
Добавлен файл LogOffDisconnected.ini (должен находиться в каталоге программы!)
В файле 2 строчки, по которым определяется статус Diconnected и статус Active, например:
Disc
Activ
Для русскоязычного сервера замените эти строчки на соответствующие русские слова
Добавлена подчистка файла LCK при разрыве терминальной сессии.
Программа раз в 7.5 секунды пытается удалить все файлы LCK во всех базах,
зарегистрированных на сервере. Удачная попытка удаления – был «висняк»
28. Mihenius (mihenius) 22.08.07 15:23
Пробовал ставить в инишку
Диск
Активно
Все равно не заработало ...
29. Аркадий Кучер (Abadonna) 22.08.07 15:46
(28) прям чудеса какие-то. постараюсь найти кого-нибудь поблизости с русскоязычным сервером, попрошу проверить...
30. artbear2 (artbear) 23.08.07 15:09
А можно не закрывать висящие, отключенные сессии для какого-то пользователя или группы пользователей?
Например, мне удобно запустить один раз в сеансе набор нужных программ, а потом подключаться к сеансу, не запуская их заново.
31. Аркадий Кучер (Abadonna) 23.08.07 18:46
(30) вообще-то я ее узкоспециализированную писал..
Но, в принципе, можно доделать
32. Mihenius (mihenius) 24.08.07 09:55
Притом у нас их 3 штуки и ни на одном не заработало ...
Сегодня проверю на Win2k3 R1 Rus просто без сервиспака
33. Александр Окулов (PowerBoy) 24.08.07 11:34
Не работает на Win2k3 Eng.
Может она только для 1с 7.7?
34. Аркадий Кучер (Abadonna) 26.08.07 11:26
(33) Фиг его знает... Но что не для 1с 7.7 - однозначно.
Чую, надо код выложить - уж при желании сами "полечите". У меня Win2003 сервер стоит - пошло с ходу, и пашет уже месяца 3 без сбоев
35. Mihenius (mihenius) 01.09.07 11:37
Пришла мысль, что проблемы с кодировками ...
Пробовал с разными все равно 0 эффекта.
Скажи какая у тебя используется кодировка?
36. Аркадий Кучер (Abadonna) 04.09.07 14:02
(25)Завтра приду на работу -киду код на дельфи. Там настолько все просто - что на что переписать что сможещь: формируется батник, он формирует элементарный текстовый файл... А что чеж тебя мучать? Не садюка я ;)
37. Аркадий Кучер (Abadonna) 07.09.07 05:31
2 Mihenius
В каталоге ..\WINDOWS\system32\
должен лежать файл session.txt, примерно такого вида:
SESSIONNAME USERNAME ID STATE TYPE DEVICE
>console Administrator 0 Active wdcon
rdp-tcp 65536 Listen rdpwd
rdp-tcp#5 Administrator 3 Active rdpwd
Глянь, во первых, если ли он, и какая там кодировака
38. Mihenius (mihenius) 14.09.07 12:27
39. Аркадий Кучер (Abadonna) 12.10.07 08:59
Совершенно новая версия: выполнено в виде службы. Таким образом программа стартует и на незалогиненном компьютере.
Тестировалось мной на Win2003 Server (англ) и В. Кушниром на Win2003 Server (рус)
P/S про другие сервера ничего сказать не могу
das; vasilykushnir; +2 Ответить
40. VasilyKushnir (vasilykushnir) 12.10.07 09:56
Спасибо за новую версию - весчь более, чем оббалденная. Результаты тестирования принесли полное удовлетворение - каждое утро начиналось с тревожного ожидания: была ли висючка (висящая сессия) или нет, а от этого зависело прошла ночная переиндексация или накрылась медным тазом. Спецом каждый день приходил на работу на пол-часа раньше, чтобы перезапустить индексацию на случай сбоя. Теперь утром на сервере ни одной сволочи с висящей сессией.
Что понравилось:
1. Любая висючка глушится не позднее 3 сек после "рождения".
2. Очень удобен лог в текстовом формате - его можно считать в 1С и без лишних хлопот увидеть все терминальные сессии, и тут же из 1С убить на выбор кого-нибудь (или всех).
3. Удаление lck после убиения сессии - это вообще песня.

Пожелание: Очень неплохо было бы добавить возможность (ini файл, кпримеру) задавать тайм-аут опроса висюков, а не жестко 3 сек.
41. Mihenius (mihenius) 15.10.07 10:53
В Dep исключения включено ... или что-то с политиками не то или хзк
Тип события: Ошибка
Источник события: TerminalSessions.exe
Категория события: Отсутствует
Код события: 0
Дата: 15.10.2007
Время: 10:48:57
Пользователь: Н/Д
Компьютер: BUHSERVER
Описание:
Не найдено описание для события с кодом ( 0 ) в источнике ( TerminalSessions.exe ). Возможно, на локальном компьютере нет нужных данных в реестре или файлов DLL сообщений для отображения сообщений удаленного компьютера. Попробуйте использовать ключ /AUXSOURCE= для получения этого описания, - дополнительные сведения об этом содержатся в справке. В записи события содержится следующая информация: Процесс службы не может установить связь с контроллером службы.

42. Mihenius (mihenius) 15.10.07 11:09
нашел по поиску следуещее
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=42967
все делал под администратором домена так что с правами проблем быть не должно
43. Аркадий Кучер (Abadonna) 15.10.07 12:01
(41,42) Ну, честное слово, не знаю... У меня сразу пошла, у Кушнира на русском - тоже.
Больше нигде потестить возможности не имел
44. Аркадий Кучер (Abadonna) 06.11.07 18:08
Версия 1.4 Удовлетворил пожелание (40)
Добавлен ini-файл для выставления интервалов поиска "висняков" и подчиски оставшихся после этого lck
Если в c:\WINDOWS\system32\ будет обнаружен файл
Interval.ini с двумя строчками интервалов в миллисекундах, то таймеры установятся по указанным значениям, в противном случае будут установлены встроенные значения.
P/S. Случайно при обновлении грохнул readme, и под рукой его сейчас нет - извиняйте.
Завтра попрошу В. Кушнира закинуть его мне, и добавлю
45. VasilyKushnir (vasilykushnir) 09.11.07 09:42
46. Alex 2 (E1so) 06.05.08 12:49
Интересует следующий вопрос: Как корректно удалить данное ПО с сервера?
Служба остановлена, но как полностью удалить данную службу?
47. Аркадий Кучер (Abadonna) 06.05.08 12:56
(46) Ну дык почти так же, как и ставил ;)
Только ключик не /install а /uninstall
48. Михаил (PMSSpy) 08.07.08 07:16
А я решил не убивать висящие сессии. я просто по WMI убиваю запущенные процессы 1cv7.exe и 1cv8.exe
я бухов давно уже предупреждал. значит, вообружен.
Если надо - код скрипта могу скинуть, пригодится не только для решения такой задачи.
49. garikaiki (olga korneeva) 17.12.08 17:07
50. Vatikan (vatikan) 09.02.09 12:05
М-да, ссылочку бы на версию 1.4 что бы попробовать...
51. Тимофей Рыбалко (TRybalko) 16.04.09 15:58
Может я не туда смотрю ... А где можно скачать эту чудесную прогу?
52. v i (vis_tmp) 29.09.10 20:39
А никто не знает как скриптом закрыть сессии в состоянии "Отключено"/"Disconnected"?
53. Брест Беларусь (zhleonid8) 30.09.11 16:36
сделайте бат файл с содержанием

tskill *1c* /a /v



и он убивает все на терминале сессии 1с!!!!!!!! все
54. Павел Л (LPas) 02.12.11 15:47
Спасибо, очень помогает в работе
55. Дмитрий Бурыкин (for_infostart) 06.01.12 13:28
отрабатывает как положено, огромное спасибо!
56. Наталия Мастербатова (zzz_natali) 18.06.13 16:40
(23) Abadonna,

Собственно, а ридмишка где?
57. Graf (merlin1975) 27.06.16 18:22
Скачал - на 2008 не стартует, не файла readme. Да и в архиве версия 1.1.1.0 а тут вроде обсуждалась уже 1.8.. Можно ссылку?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа