gifts2017

Отключение пользователей встроенными функциями

Опубликовал Dmitriy Stepkin (demo-05) в раздел Администрирование - Защита, права, пароли

Что может быть лучше обработок или процедур отключения непослушных пользователей из базы?
Наверное, какая-то встроенная вещь!
Надо бы ей воспользоваться.

Laughing

8.1

Создаем ярлык. Назовем его: Отключение или Завершение.
"C:\Program Files\1cv81\bin\1cv8.exe"  ENTERPRISE /F"ПутьКБазе" /N"Юзер" /P"ЕгоПароль" /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

При этом произойдет запуск программы под админскими правами пользователя , а на экране других выйдет сообщение, оповещающее об отключении. Сам пользователь отключится тоже через 60 сек.
Ага, пользователи отключились, можно все что угодно делать с базой. А если кому-то нетерпится и начинает запускать 1С, то что будет? А его просто программа не пустит.
Что делаем?

Создаем ярлык. Назовем его: Разрешить
"C:\Program Files\1cv81\bin\1cv8.exe"  ENTERPRISE /F"ПутьКБазе" /N"Юзер" /P"ЕгоПароль" /WA- /AU- /DisableStartupMessages /C РазрешитьРаботуПользователей /UC ПакетноеОбновлениеКонфигурацииИБ

Все. Теперь можно всем работать!

Smile

8.2

Отключалка

"C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"ПутьКБазе" /N"Юзер" /P"ЕгоПароль" /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

Включалка

"C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"ПутьКБазе" /N"Юзер" /P"ЕгоПароль" /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения

 

Это работает для фалового варианта.

Для серверного меняем /Fна /S\

Кста, работающие пользователи автоматически включаться в работу

Замечено, если у пользователей закрывается 1С с запросом завершения работы, то в 8.2 будет окно это маячить :-(.... пока думаю над этим.

Всем огромный фэнкс!

См. также

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

Комментарии

1. Ярослав Радкевич (WKBAPKA) 29.09.10 10:24
2. Ярослав Радкевич (WKBAPKA) 29.09.10 11:32
это для файлового варианта... а для серверного?
3. Александр Медведев (anig99) 29.09.10 11:37
Вообще есть пункт меню в сервисе "Установить блокировку подключения к базе".
Выгоняет пользователей.
Но, если мне не изменяет память, таким образов нельзя выгнать пользователя у которого открыто модальное окно
4. Аркадий Кучер (Abadonna) 29.09.10 11:49
хм... прям удивительно (1) неужели действительно не знал?
5. Ярослав Радкевич (WKBAPKA) 29.09.10 12:06
6. Ярослав Радкевич (WKBAPKA) 29.09.10 12:24
так всеже, для серверного варианта что то есть похожее?
7. Алексей (Einzelhaft) 29.09.10 12:42
(6) Для серверного вместо ключа /F пиши ключ /S
8. Ярослав Радкевич (WKBAPKA) 29.09.10 12:58
2(7): спасибо. вроде работает
9. Алексей (Einzelhaft) 29.09.10 13:23
(6) Для серверного вместо ключа /F пиши ключ /S
например "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /S<ИмяСервераSql>\<ИмяБазыНа1ССервере> /N <имя> /P <пароль> /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей
единственное что мне неясно - что делает ключ /AU- :(
sergiobargio1; demo-05; +2 Ответить
10. Александр Смирнов (Alex39) 29.09.10 15:45
"C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F Пала1 /N Александр /P 123 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей

Как-то не получилось. ни просто с названием базы, ни когда путь прописывал. Наименование пользователя Александр пароль 123. Выдаёт сообщение: информационная база не обнаружена. Создать новую?
11. Алексей (Einzelhaft) 29.09.10 16:44
(10) Путь заключай в кавычки (если длинные названия) и без пробелов
например
"C:\Program Files (x86)\1cv81\bin\1cv8.exe" ENTERPRISE /SSQLSRV\MyDB /NАдминистратор /P123 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей
или
"C:\Program Files (x86)\1cv81\bin\1cv8.exe" ENTERPRISE /FD:\FileBases\myDB\ /NАдминистратор /P123 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей
12. Сергей TY (SergeyTY) 29.09.10 16:49
круть. а для семерки есть подобная штучка?
13. Dmitriy Stepkin (demo-05) 29.09.10 16:53
:!: Да, спасибо за комменты и плюсики.
Ну,
во-первых: фича расчитана для удобства администрирования, поэтому я не писал про пункт меню...
Во-вторых: правильно заметили - это для файлового варианта. Обязательно подправлю

/AU — запрет вывода вопроса об обновлении текущей версии 1С:Предприятия с административной установки (для базовых версий не используются).
14. Аркадий Кучер (Abadonna) 29.09.10 18:20
(5)
вот те крест!

Стало быть не занимался обменами.
Сервис-Прочие обмены данными- Настройка выполнения обменов...
Ежели есть хоть одна настройка
Действия - Настройка обновления конфигурации
оно тебе автоматически построит:
REM Путь к файлу для ошибок и сообщений
set FileInformation=""

date /t >> %FileInformation%
time /t >> %FileInformation%
set DataBaseName>>%FileInformation% 

rem Завершение работы пользователей
start "" /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /CЗавершитьРаботуПользователей	/UCПакетноеОбновлениеКонфигурацииИБ	/Out%FileInformation% -NoTruncate /DisableStartupMessages

start "" /wait %v8exe% CONFIG     %DataBase% %AdminUser% /UpdateDBCfg /UCПакетноеОбновлениеКонфигурацииИБ	/Out%FileInformation% -NoTruncate

rem Разрешение работы пользователей
start "" /wait %v8exe% ENTERPRISE %DataBase% %AdminUser% /CРазрешитьРаботуПользователей	/UCПакетноеОбновлениеКонфигурацииИБ	/Out%FileInformation% -NoTruncate /DisableStartupMessages

rem Запуск самой программы
start "" %v8exe% ENTERPRISE %DataBase% %User%  /DisableStartupMessages
...Показать Скрыть

P.S. Вот тут правильная настройка обмена, когда периферия, при необходимости, обновляет свою конфигурацию вслед за центральной
15. Yackov . (Yackov) 29.09.10 18:28
А вот если баз много, то как быть? Если ярлычков не напасешься, то как? 8-)
16. Аркадий Кучер (Abadonna) 29.09.10 18:35
(15) Сходи куда-нибудь в партком, они раньше мастера ярлыки вешать были :)
17. Алексей Константинов (alexk-is) 29.09.10 20:04
(15) Вот эта штука http://www.infostart.ru/public/19363/ настрогает таких скриптов сколько хочешь. Только глочками выбери базы для которых сделать скрипты.
18. Александр Зубцов (iov) 29.09.10 20:38
(14) P.S. Вот тут правильная настройка обмена, когда периферия, при необходимости, обновляет свою конфигурацию вслед за центральной
Там наверно ссылочка должна быть?
19. Аркадий Кучер (Abadonna) 29.09.10 20:55
(18)
Там наверно ссылочка должна быть?

На что????
20. Александр Зубцов (iov) 29.09.10 21:17
(19) на правильную настройку обмена , когда периферия, при необходимости, обновляет свою конфигурацию вслед за центральной :) Может я неправильно понял - тогды извиняйте.
21. Аркадий Кучер (Abadonna) 29.09.10 21:25
(20) Поясняю: центральная база может иметь дурную привычку взять да обновиться злобным, например, франчем ;) Изменились реквизиты объектов, добавились новые... да мало ли! В правильном обмене париться с обновлением периферийной базы не придется, она получит от центральной информацию о том, что та изменилась, и сама обновится. Все это предусмотрено штатными механизмами обмена восьмерки
22. Александр Зубцов (iov) 29.09.10 21:28
(21) а вот теперь все ясно. :) а я надеялся сохранить что нить умное для балбеса админа а то в отпуск спокойно не сходить :cry:
23. Алексей Новоселов (a-novoselov) 30.09.10 09:13
а как ты повисшие сессии такой штукой отключишь? Еще один батник для перезапуска сервера?)
24. Александр Зубцов (iov) 30.09.10 18:29
(23) Хм на то они и повисшие, чтобы жизнь была веселее.
25. Андроид (Андроид) 01.10.10 10:45
Ставлю +
Но есть проблемка Имя пользоветеля состоит из 3 слов..
Подставляет только первое...
26. Denis Lookin (lookindenis) 01.10.10 22:22
(12)
то-же хотелось бы услышать ответ =)
повторюсь: "а для семерки есть подобная штучка?"
27. Sherlock Holmes (Sherlock99) 01.10.10 22:28
Я в семерке писал обработчикОжидания, который проверял константу на завершение работы. Если константа была равна Да (1), то три раза с интервалом в 30 сек пользователям выдается предупреждение о необходимости завершить работу. Если они ее не успевали за это время заврешить, 1С закрывалась сама. При открытии же, проверялась константа на заврешение, если она равна Да (1), то 1С сразу же закрывается
lookindenis; +1 Ответить
28. Аркадий Кучер (Abadonna) 02.10.10 06:27
Забавно, но вот тут http://infostart.ru/public/21720/ изложено практически то же самое, опубликовано аж 12.08.2009, но плюсиков всего 3.
Похоже, надо еще со временем публикации угадать :D
29. Дмитрий Елисеев (w-divin) 02.10.10 23:59
(28)
Главная → Каталог
Каталог
Публикация удалена
30. Аркадий Кучер (Abadonna) 03.10.10 06:52
(29) Очень интересно :o Вчера утром (02.10.10) она была на месте и плюсиков было 3, сейчас плюсиков 4 и удалена.
Кстати, четвертый плюс от lookindenis (коммент 26)
31. Андрей Лещанов (Nuuq) 03.10.10 14:02
Ставлю +
Но есть проблемка Имя пользоветеля состоит из 3 слов..
Подставляет только первое...

Дело в том, что в твоем случае значение параметра (имя пользователя) помимо одного слова включает еще и другие символы (пробелы,скобки, может даже еще буквы...) - значит в данном случае параметр (имя пользователя) нужно указывать в кавычках + параметры, которые не нужны (пароль) не указывать вообще, т.е. вот так (обрати внимание на параметр /N чего тока тут нет, запятых еще не хватает :))

"C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /FD:\1c\DemoAccounting /N"Иванов Иван Иванович (директор)" /WA- /AU- /DisableStartupMessages /CЗавершитьРаботуПользователей


З.Ы.: а если ты где-то просто обновляешь базу, то лучше заходи под админом, у него логин как правило короткий да и прав хватит на все :)
32. Иванов Алексей (acrk) 07.10.10 10:51
Попробовал. Выгнать - выгнала. А разрешить не получается - требует код разрешения.
33. Никита (nikitan) 11.10.10 10:49
(32)
Как это не удивительно, но код доступа к базе "КодДоступа".
Система такой ставит по умолчанию :D
ybatiaev; sergiobargio1; briz; hamann2; +4 Ответить 1
34. Никита (nikitan) 11.10.10 12:07
Код из типового ЗиУПа 2.5.27.5:

// Устанавливает блокировку соединений ИБ.
//
// Параметры
// ТекстСообщения – Строка – текст, который будет частью сообщения об ошибке
// при попытке установки соединения с заблокированной
// информационной базой.
//
// КодРазрешения - Строка - строка, которая должна быть добавлена к параметру
// командной строки "/uc" или к параметру строки
// соединения "uc", чтобы установить соединение с
// информационной базой несмотря на блокировку.
//
// Возвращаемое значение:
// Булево – результат завершения работы пользователей.
//
Процедура УстановитьБлокировкуСоединений(Знач ТекстСообщения = "",
Знач КодРазрешения = "КодРазрешения") Экспорт

Блокировка = Новый БлокировкаУстановкиСоединений;
Блокировка.Установлена = Истина;
Блокировка.Начало = ТекущаяДата();
Блокировка.КодРазрешения = КодРазрешения;
Блокировка.Сообщение = СфомироватьСообщениеБлокировки(ТекстСообщения, КодРазрешения);
УстановитьБлокировкуУстановкиСоединений(Блокировка);

КонецПроцедуры

В функции ОбработатьПараметрыЗапуска(), общего модуля УправлениеСоединениямиИБ, вызов процедуры УстановитьБлокировкуСоединений() производится без параметров, отсюда и следует (33)

Автору топика потенциальный минус за такое!!!
Нужно описывать все.
35. Сергей Г (sgirg) 26.10.10 14:17
День добрый.... что то я никак не пойму куда вводить эту строку: "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F <путь к базе> /N <имя> /P <пароль> /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей
В свойствах ярлыка в поле "Объект"???
А все разобрался... по другому немного сделал...
36. bulpi bulpi (bulpi) 27.10.10 22:30
Возможно, для автора я скажу новость... Но эта штука относится не к платформе, а к семейству типовых конфигураций. В которых написана фигова туча строчек кода для обработки параметра ЗавершитьРаботуПользователей. Об этом ОБЯЗАТЕЛЬНО нужно было написАть. И указать в описании не "Приложение для Windows для 1С: Предприятие 8.1; 1С: Предприятие 8.2 ", а конкретный список конфигураций. А так лично я зря потратил время на изучение этой статьи. Уж как-нибудь в СВОИХ конфигурациях я реализую эту штуку без помощи кого-бы то ни было.
maljaev; alk; MrFlanker; cheburashka; netperson; Bobak; +6 Ответить
37. Владислав Свинцов (VSvintsov) 29.03.11 20:20
попробовал на УТ 10.3 12.96 файловая и сервере Win2008
оба пользователя работали через удаленный доступ.
Блокировка исправно ставилась и удалялась, но вот второй пользователь в БД упрямо оставался.
В результате грохнул его сеанс через менеджер терм доступа - только тогда БД освободилась
38. Сергей Рожков (Gribo) 21.09.11 12:56
завершить завершил, а вот разрешить не дает
39. Samir Nuriyev (Samir_2011) 28.09.11 11:21
Платформа 8.2, БП 2.0.
Запрет: "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F D:\1C\Year /N 111 /P 111 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей
Разрешение: "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F D:\1C\Year /N 111 /P 111 /WA- /AU- /DisableStartupMessages /C РазрешитьРаботуПользователей /UC КодРазрешения

Работает, но вопрос на засыпку - при запрете окно программы сворачивается и войти нельзя никому, в том числе и админу, пока не разблокируешь. Как тогда войти в программу?
40. Anton - (AntonH851) 04.10.11 15:45
А разве код разрешения не для этого предназначен?
41. Олег Смирнов (mrdug) 07.10.11 11:31
А вот эта ошибка из-за чего возникает: Отсутствует файл базы данных "'C:\Documents/1Cv8.1CD'"?
42. Samir Nuriyev (Samir_2011) 07.10.11 15:27
Я так понял, что данный код позволяет входить администратору и выгонять всех пользователей, кроме себя - для проведения различного рода работ, там 1с обновить и так далее. Или она только для полного аввыгона людей из базы под ноль в том числе и администратора-инициатора?
43. Ilya Edryonkin (swamp) 18.10.11 12:40
в файловом варианте ничего не произошло
пользователь загрузился у меня, но у работающих пользователей никакой таблички не появилось
44. Ilya Edryonkin (swamp) 25.10.11 07:41
виноват, произошло, только через некоторое время (секунд 15-30).
так и должно быть?
45. Константин (briz) 26.10.11 11:41
(0) Администратор Кластера и Пароль Администратора Кластера должны быть заданы ?
46. Антон Котов (Attest) 21.11.11 14:51
Полезная информация, спасибо, но использовать хочется интрумент посолиднее!
47. Ilya Edryonkin (swamp) 21.11.11 15:00
а можно изменить текст на этом всплывающем сообщении?
48. Il'ya Mankov (Tpakmop) 05.12.11 08:10
Не работает, Ставлю так: "C:\Program Files\1cv82\8.2.14.533\bin\1cv8.exe" ENTERPRISE /F "C:\1С - ИБ\1" /N "1" /P "1" /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей
Запускается 1С предприятие под данным пользователем и все, ни у кого не отрубается.
Может я что-то не так делаю?
49. Дмитрий Петроченко (pandaa61) 25.01.12 12:28
"C:\Program Files\1cv82\8.2.14.533\bin\1cv8.exe" ENTERPRISE /F "C:\1С - ИБ\1" /N "1" /P "1" /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей
Аналогично! Запускается база, подключенные пользователи продолжают работать, в чем дело не понимаю......
50. Владимир (sinjevla) 31.01.12 12:10
Спасибо за подсказку, полезная информация, буду тестировать.
51. Dmitry Chernykh (dim0n_la) 04.02.12 15:13
(49) pandaa61, (48) Tpakmop, может у вас конфа не типовая. В статье не заметил упоминания о том, что параметры "ЗавершитьРаботуПользователей" и "РазрешитьРаботуПользователей" должны обрабатываться в конфигурации специальным кодом вызываемым процедурой "ПриНачалеРаботыСистемы" в которую и передаются эти параметы в переменную ПараметрЗапуска. такой функционал есть в типовых, но в самописных конфигурациях его может и не быть. тогда никакие параметры не помогут.
52. Сергей Сергеев (SERJ_1CC) 06.02.12 18:42
Инетерсно, тоже не сталкивался, пригодится однозначно, разобраться надо только в работе
53. WWWolfy (WWWolfy) 15.02.12 10:58
Можно просто создать 2 ярлыка 1С

Копируем дважды ярлык 1С на раб. столе и переименовываем "Закрыть" и "Открыть".

В свойствах ярлыка добавляем в поле Объект, чтобы выглядело так:
"C:\Program Files\1cv82\common\1cestart.exe" /C ЗавершитьРаботуПользователей

У второго ярлыка так:
"C:\Program Files\1cv82\common\1cestart.exe" /C РазрешитьРаботуПользователей /UCКодРазрешения

Ярлыки будут открывать и закрывать любые типовые базы.
54. nick e (nick_e) 16.02.12 06:31
Было бы удобно если бы все это было оформлено в виде галочек и переключателей в обработке, чтоб не прописывать настройки вручную.
55. kolubo (Andle) 26.02.12 13:33
В УПП, при установленной настройке пользователя "спрашивать подтверждение при закрытии программы", чего-то это не срабатывает.
56. Limonka Limonka (LimonkaRu) 01.03.12 13:39
мне нужно для батника, для периферийной базы, чтобы когда погржается конфиг из центральной - выгнать всех юзеров и подгрузить конфиг. первоначально был такой батник:

@echo avtoobmen Noria2
start "" /wait "c:\Program Files (x86)\1cv82\8.2.14.540\bin\1cv8.exe" enterprise /F D:\Base_1C\111 /N Autoobmen /P 111 /Execute "d:\ObrabotkaSeansa.epf"
@echo end

@echo avtoobmen Noria2
start "" /wait "c:\Program Files (x86)\1cv82\8.2.14.540\bin\1cv8.exe" CONFIG /F D:\Base_1C\111 /N Autoobmen /P 111 /UpdateDBCfg
@echo end

все работало, но батник закрывал только сеанс пользователя Autoobmen с помощью обработки ObrabotkaSeansa.epf, которая содержит в модуле объекта строку с кодом:
ЗавершитьРаботуСистемы(Ложь);
но появилась выгонять всех пользователей, а не только текущий сеанс закрывать, перед подгрузкой конфига

так вот по вашим описанием у меня не работает строка в батнике:

@echo avtoobmen Amplituda
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F d:\Base_1C\111 /N Autoobmen /P 111 /WA- /AU- /DisableStartupMessages /C ЗавершитьРаботуПользователей
@echo end

открывает 1С, выполняет автообмен, а вот ни свой, ни сеансы других пользователей не закрывает(((

как быть?
Win7
КА 8.2, снята с поддержки с возможностью обновления
57. sip (sip) 08.03.12 11:46
Открываетбазу под пользовалетем.ю которого надо закрыть и ошибка
Параметр запуска ЗавершитьРаботуПользователей не отработан. Нет прав на администрирование информационной базы.

Что можно сделать?
58. i z (izz) 30.05.12 11:06
Спасибо за полезную информацию. Как раз пригодилось для написания батника для отключения пользователей в 1с 8.2! Теперь не надо утром ругать на пользователей, которые не вышли на ночь из базы (из-за них выгрузка базы не делалась).
59. Polina Puchkova (krovohlebka) 05.06.12 14:30
и у нас не работает ключ ЗавершитьРаботуПользователей
серверная версия
в том числе в качестве ярлыка
60. Oscar Oscar (OscarTT) 24.07.12 12:37
(57)
Похоже и у нас те же грабли (((
61. Артур Антипин (artur.antipin) 04.10.12 13:42
УПП 1.3.25
Не работает команда.
А для выполнения этой команды нужна установка блокировки соединений?
62. Алексей Васин (zup_tptu) 22.01.13 11:53
"C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"ПутьКБазе" /N"Юзер" /P"ЕгоПароль" /WA- /AU- /DisableStartupMessages /CРазрешитьРаботуПользователей /UCКодРазрешения


собственно работу других пользователей завершает, а само окно остается открытым
Как это лечится?
63. Dima Dima (bayce) 24.03.14 01:24
Пароль пользователя хранить в батнике.
В целях безопасности это правильно?
64. Nicholas Mikuslas (Nicholas) 19.12.14 13:37
Какие минимальные права должны быть у пользователя, от имени которого запускается 1С?
Самый простой вариант дать этому пользователю полные права, но это не безопасно, т.к. тогда в открытом виде будут лежать данные пользователя с полными правами.
Какие права нужно назначить, чтобы пользователь мог только завершать работу других пользователей, но не смог ничего посмотреть в программе?
65. Светлана Юсубуллина (Swetlana) 05.03.15 13:22
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа