Как без прав администратора кластера серверов выгнать активных пользователей? #783545


#0 by alexey980
Есть облачная база (Управление торговлей 11.3), которая физически находится на сервере терминалов в другом городе. Пользователи работают с базой в режиме удаленного приложения RemoteApp. Вариант работы самой платформы (1С:Предприятие 8.3) - клиент-серверный. У мена имеются полные права для работы с информационной базой, но нет прав для администрирования кластера серверов. Удаленно создавать и запускать на сервере скрипты или утилиты не получится, и консоль администрирования сервера 1С, разумеется, мне не доступна. Время от времени возникает вопрос принудительного завершения работы пользователей (например, перед выгрузкой базы, обновлением конфигурации или синхронизацией с Бухгалтерией предприятия). Однако штатная обработка завершения сеансов активных пользователей не подходит, поскольку в ней требуется вводить имя и пароль администратора кластера, которые мне просто так никто не даст. Какие могут быть варианты принудительного завершения работы пользователей в данном случае? P.S. Пока рассматривается лишь один "дедовский" вариант через обработчик ожидания: в модуле управляемого приложения типовой конфигурации в процедуре ПриНачалеРаботыСистемы подключить проверялку, которая каждые 5 минут будет обращаться к какому-нибудь вспомогательному регистру (или даже внешнему файлу, чтобы не создавать лишний регистр) и считывать флаг установки блокировки: пока 0 - работа пользователя продолжается, как только 1 - пользователю выводится предупреждение о скором закрытии программы и затем вызывается метод ПрекратитьРаботуСистемы(Ложь). Меня лишь немного напрягает необходимость подключения обработчика ожидания с таким коротким интервалом. Не будет ли это тормозить работу пользователя? Нет ли какого-нибудь стандартного метода типа ЗавершитьРаботуВсехПользователей, который можно было бы вызывать из внешней обработки только по мере необходимости?
#1 by Жан Пердежон
лучше капай в сторону выбивания прав;
#2 by ptiz
5 минут - короткий интервал? Не смешите тапки. Да хоть 5 секунд.
#3 by Boleev
#4 by Dotoshin
Заранее оповещаешь пользователей, что в ранее согласованное время будет выполняться обновление и все должны выйти. Если заранее согласовать было невозможно (возник какой-то форс-мажор) пытаешься все же всех как-то оповестить в экстренном порядке. Дальше - "кто не спрятался я не виноват", устанавливаешь блокировку соединений (из режима предприяти), "грохаешь" сеансы тех кто хочет выходить добровольно и делаешь свои дела. Как-то так.
#5 by Dotoshin
*тех кто НЕ хочет
#6 by alexey980
для блокировки соединений из режима предприятия в УТ 11.3 как раз и требуется вводить пароль администратора кластера, которого у меня его нет. собственно, вопрос в этом и состоит: а как без пароля?
#7 by alexey980
проверил ваш вариант. добавил новый временный объект Конфигурации, нажал F7 (Обновить конфигурацию БД), вылезла форма с предложением завершить все активные сеансы. дальше не пробовал, т.к. в данный момент там работают пользователи. но, похоже, метод работает. единственный минус - открытие конфигурации происходит не так быстро и ещё дольше потом происходит обновление конфигурации БД, к тому же всё это потом нужно прокрутить в обратную сторону, чтобы вернуть Конфигурацию в первоначальное положение. но для экстренного случая, пожалуй, сойдет. спасибо!
#8 by John83
в той же УПП никаких паролей не требует и можно свою выгонялку написать
#9 by alexey980
не знаю, как в УПП, но в БП (текущая версия 3.0.44.177) и в УТ (11.3.1.127) для блокировки или завершения сеансов активных пользователей в клиент-серверной версии требуется ввод имени и пароля администратора кластера
#10 by John83
ну так взял бы, да посмотрел
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С