gifts2017

Отключение активных сеансов пользователей в серверных базах данных 1С 8.2

Опубликовал Евгений Панкратов (FatheRD) в раздел Администрирование - Защита, права, пароли

Отключение всех сеансов пользователей от серверной базы данных, использующее стандартный функционал 1С.  

   В обработке используется стандартный функционал 1С Предприятия для отключения всех активных сеансов пользователей от текущей базы данных. Через COM-соединения обработка подключается к консоли сервера 1С и удаляет сеансы (аналогично ручному удалению через консоль сервера). Идея взята из типовой конфигурации 1С Документооборот КОРП. Для корректной работы в конфигурации необходимо наличие константы "ПараметрыАдминистрированияИБ" с информацией о админском логине и пароле (константа по умолчанию уже присутствует в типовых конфигурациях от 1С).

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

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

Наименование Файл Версия Размер
Удаление активных сеансов 895
.epf 9,03Kb
21.11.11
895
.epf 9,03Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
0. Евгений Панкратов (FatheRD) 01.01.70 03:00
Отключение всех сеансов пользователей от серверной базы данных, использующее стандартный функционал 1С.

Перейти к публикации

1. Олег Почекутов (PochekutovOleg) 21.11.11 07:54
2. Станислав Турчинский (Istur) 21.11.11 12:41
А логин/пароль разве вводить не нужно? На скриншоте не увидел..
3. Евгений Панкратов (FatheRD) 21.11.11 12:48
Логин/пароль хранятся в константе ИБ. В типовых конфигурациях это константа заполняется по умолчанию. Важно так же отметить что это должны быть логин/пароль от консоли сервера для данной базы, они не всегда совпадают с логином/паролем информационной базы.
4. Алексей . (mamanelli) 23.11.11 14:39
Посмотрим-заценим сейчас ;)
5. Андрей (redwonder87) 24.11.11 06:44
Хорошо бы предоставить полный интерфейс действия: кроме удаления пользователей из сеансов еще бы возможность включения блокировки базы. А то юзеры порой очень настойчивы)
6. WellMaster (WellMaster) 24.11.11 15:33
Добиваемся аналогичного эффекта с помощью простого батника:
net stop "1C:Enterprise 8.1 Server Agent"
net start "1C:Enterprise 8.1 Server Agent"

Отключает сразу всех от всех баз на этом сервере предприятия. Грубо, но просто.
7. Евгений Панкратов (FatheRD) 24.11.11 18:45
2WellMaster

Раньше поступали аналогично. Но с выходом последних релизова платформы (начиная с 8.2.13) срабатывает далеко не всегда. На 8.2.14 можно отключать сервис хоть на 3 часа - сеансы останутся висеть, особенно если речь идет о тонком клиенте. 1С адаптирует платформу для работоспособности с плохими каналами связи, где простое отключение связи между сервером и клиентом - обычное дело. Ваш метод очень скоро окажется полностью неработоспособен.
8. WellMaster (WellMaster) 24.11.11 18:58
(7) FatheRD, спасибо за информацию. В таком случае, предлагаемый инструмент действительно будет необходим.
9. Александр Муравьев (trunix) 25.11.11 05:29
Спасибо за обработку. Будем отключать пользователей в любой момент.
10. Сергей Семенов (cerg110) 28.11.11 07:49
полезная обработка, а зависшие сеансы тоже отключает?
11. Евгений Панкратов (FatheRD) 28.11.11 11:08
2cerg110

Да, зависшие сеансы отключает. Единственное, с чем не может справиться - зависшие блокировки, когда сеанса уже уже существует. Т.е. сеанс не виден в консоли сервера 1С, а блокировка в той же консоли видна. Но такие случаи бывают крайне редко и лично я не знаю как решить эту проблему кроме как рестартом сервиса сервера 1С.
13. Александр Гарькин (agarkin) 06.12.11 13:51
очень удобно для терминала
14. Яков Коган (Yashazz) 12.12.11 17:46
Боян многолетней давности. Ещё coder1cv8 делал в 2008 году, плюс там ещё можно было сообщения отправлять, выборочно отключать и многое другое. А тут - ни сеансов не видно, ни избирательности... Одна кнопка и всё. Некомильфо, считаю.

ах да, кстати, тот сеанс, из которого кнопка нажата, тоже прервётся?
15. Василий Кожуховский (yavasilek) 15.12.11 13:08
скачал. пока нет возможности проверить.
А будет ли работать обработка если допустим запускать батником
"C:\Program Files (x86)\1cv82\8.2.13.219\bin\1cv8.exe" enterprise /S"server\base" /N"user" /P"1234" /execute d:\путьдообработки

где:
server - имя сервера
base - имя базы на сервере
user - имя пользователя 1с с правами админа
1234- пароль пользователя 1с
16. Евгений Панкратов (FatheRD) 15.12.11 13:11
Не проверял возможность работы при запуске через bat. У нас запускается регламентным заданием, текст встроен в конфигурацию.
17. Василий Кожуховский (yavasilek) 15.12.11 13:20
Еще как вариант можно делать так

netsh interface ip set address 11 source=static addr=192.168.1.1 mask=255.255.255.0 gateway=192.168.120.254
"C:\Program Files (x86)\1cv82\8.2.13.219\bin\1cv8.exe" config (/S"server\base") /N"user" /P"1234" /DumpIB "D:\base.dt"
netsh interface ip set address 11 source=static addr=192.168.2.1 mask=255.255.255.0 gateway=192.168.120.254
"C:\Program Files\WinRAR\RAR.exe" a -agYYYYMMDD-NN D:\backup "D:\1Cbackup\elitdb\base.dt"

Первая строка меняет настройки на сетевом интерфейсе, тем самым рвет все соединения
Вторая строка выгружает базу в dt'шник
Третья строка делает наши стандартные настройка на сетевом интерфейсе
Четвертая строка архивирует наш dt'шник и задает ему имя с датой.
18. Евгений Панкратов (FatheRD) 15.12.11 13:47
Насчет первой строки не уверен, что это будет всегда работать. Сейчас соединения не рвутся даже при выключении сервера 1С на 10 минут. 1С готовит платфрму к работе в облаках )
19. Василий Кожуховский (yavasilek) 15.12.11 13:56
на 540 точно работает! Проверенно временем. Просто не всегда можно отключить сервер от сети.имхо
20. Роман Мишкин (smilejka) 15.12.11 14:27
Какие права нужны пользователю для отключения?
Будет ли работать обработка, если база серверная, работа ведется через терминал. Причем консоли сервера 1С находится на другом компьютере, к которому нету доступа.
21. Василий Кожуховский (yavasilek) 15.12.11 14:30
(20) smilejka, права админа. будет.
22. Андрей Вовк (wowkai) 16.12.11 12:21
а как удалить зависший сеанс в 1с 8.1?
23. Денис Садовой (Den_Zenit) 20.12.11 10:22
Актуально, у нас вечная с этим проблема.
24. Василий Кожуховский (yavasilek) 20.12.11 11:02
(22) wowkai, обработкой под 8.1 :) Поищите тут в архивах точно валяется
25. Сергей (Feelthis) 21.12.11 14:07
Константу ПараметрыАдминистрированияИБ я так понимаю программно нужно поменять?
26. Dima Str. (dimakaster) 28.12.11 11:03
(17) yavasilek, это сработает только при условии что сервер 1С:Предприятие и сервер БД находятся на одной железке. А как же вы собираетесь делать выгрузку в .dt если серверы физически разнесены на разные железки?
27. Василий Кожуховский (yavasilek) 28.12.11 11:17
(26) dimakaster, мне какая разница где они находятся? главное чтоб у меня был доступ к серверу 1с. А на той машинке на которой я буду запускать батник - мне главное чтоб 1С стояла.
28. Dima Str. (dimakaster) 28.12.11 16:05
(27) yavasilek, стоп, а к БД программа как будет обращаться если сеть отрублена, а сервер БД на другой железке?
29. Василий Кожуховский (yavasilek) 30.12.11 12:11
(28) dimakaster, теперь я понял о чем речь. Можно попробовать вернуть сетевые настройки сразу после их смены, сделать не большую задержку и вернуть. Клиенты ведь уже отвалятся? Хотя может и нет ... надо будет попробовать.
30. Тарас (softest) 08.01.12 20:05
31. Олег Тымко (olegtymko) 08.01.12 20:53
32. Den (Dvornik) 01.02.12 09:03
Скачал себе для управляемого приложения, там даже нет управляемой формы. Смысл тогда писать, что для 8.2?
33. Антон Шевелёв (Anton_prezident) 12.02.12 22:33
35. Taras Варварич (itar59) 23.04.12 18:29
А регламентные задания отключит?
36. Антон Тимченко (basej1c) 25.06.12 11:42
у меня не работает ! вообще ничего не происходит !
база клиен-серверная
бухгалтерия типовая
37. Oscar Oscar (OscarTT) 24.07.12 12:40
Только недавно думали про такое, будем пробовать.
38. Andrey Dyak (electronik) 02.08.12 18:15
Здраствуйте Уважаемый разработчик с описанием как то туговато нету толком ни скриншотов ни настройки. По функцианалу то что нада(Вернеее то что ищу).Как в работу будет не знаю (Скачаю протестирую отпишусь)
39. Елена (elena_77) 22.10.12 16:53
Спасибо. Сейчас нужна такая обработка,
чтобы в режисе 1с можно было завершать работу пользователей выборочно,
не заходя в кансоль. Скачаем, протестируем.
40. finch (fin7) 22.10.12 18:03
Спасибо, протестирую при возможности. Хорошая обработка, и тоже интересует: зависшие сеансы отключает?
41. Сергей Валутин (Bacemo) 22.10.12 22:05
Попробовал. Не отключила тех пользователей, у которых в настройках было установлено "Предупреждать при завершении" У них открылось модальное окно, а надать на подтверждение некому
42. Кирилл Самсонов (Vigor06) 30.04.13 13:40
Друзья,так что там с зависшими сеансами?
43. Евгений Панкратов (FatheRD) 30.04.13 13:51
У меня зависшие сеансы отключает. Кроме тех сеансов, которые остались в блокировках, но не видны в списке сеансов в консоли.
44. Ловыгин Антон (wunderland) 25.06.13 13:49
(43) Да, есть такая проблема :(
45. Логинова Ольга (BuchCentr) 28.01.14 10:48
Не работает обработка, может просто на новых платформах.
46. Евгений Панкратов (FatheRD) 28.01.14 11:59
(45) BuchCentr, а какую платформу Вы используете, можете уточнить?
47. Стрелков Александр (Культурный) 20.02.14 12:03
Обработка и не подумала удалить зависшие сеансы.
48. Константин Куликов (Светлый ум) 27.08.14 12:52
49. Вадим Титов (flyDrag) 17.10.14 20:46
Спасибо автору за обработку, я ее переделал на управляемые формы + регл задание сделал все нормально работает
50. Денис Соколов (elCapitano) 18.02.15 13:03
(49) flyDrag,
выложите пожалуйста ваши регл задания , было бы интересно посмотреть.
51. Антон Чирков (fynjy93) 15.08.15 15:47
52. al T (alexnsk) 08.02.16 05:47
в 8.3 будет отрабатывать из рег задания?
53. Надя Разраз (berkutmx) 04.07.16 13:38
55. Руслан Павловский (taxcom1) 22.11.16 09:00
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа