Имя: Пароль:
1C
1С v8
Консольная команда изгнания пользователей
0 picom
 
19.07.24
06:06
Как из командной стоки (надо для батника) выгнать всех пользователей из серверной базы?

PS.  Админских прав на ОС MS W у меня нет, на консоль есть
1 PR
 
18.07.24
13:22
Не уверен, но боюсь, что только так https://wonderland.v8.1c.ru/blog/razvitie-klastera-serverov
2 Ёпрст
 
18.07.24
13:53
(0) зачем ?
3 arsik
 
18.07.24
13:57
>executor.cmd .\service_bases.sbsl::DropSessions -Сервер "server" -База "basename"
service_bases.sbsl
конст ВЕРСИЯ = "1.0.0.0"

метод Скрипт()
    Консоль.Записать("Весрия скрипта: %ВЕРСИЯ\нЗдесь будет версия и помощь по скрипту")
;

метод DropSessions(Сервер: Строка, База: Строка)
    Консоль.Записать("Сервер: %Сервер База: %База Удаляем сессии...")
    знч АдминистрированиеСервера = новый АдминистрированиеСервераV8(Сервер, 1545)
    знч Кластеры = АдминистрированиеСервера.ПолучитьКластеры()
    для Кластер из Кластеры 
        Консоль.Записать(" Кластер: %Кластер")
        Кластер.ВыполнитьАутентификацию()
        знч ИнформационныеБазы = Кластер.ПолучитьИнфобазы()
        для ИнформационнаяБазаОписание из ИнформационныеБазы
            Консоль.Записать("  ИБ: %{ИнформационнаяБазаОписание.Имя}")
            если ИнформационнаяБазаОписание.Имя == База
                знч ИнформационнаяБаза = ИнформационнаяБазаОписание.ВыполнитьАутентификацию("Пользователь","Пароль")
                
                знч Сеансы = ИнформационнаяБаза.ПолучитьСеансы()
                для Сеанс из Сеансы
                    если Сеанс.ИмяПриложения == "1CV8C"
                        Консоль.Записать("     (-) Сеанс: %{Сеанс.ИмяПриложения} ИмяПользователя: %{Сеанс.ИмяПользователя} ИмяКомпьютера: %{Сеанс.ИмяКомпьютера}")
                        Сеанс.ЗавершитьСеанс("Технологический перезапуск сеансов")
                    иначе
                        Консоль.Записать("     Сеанс: %{Сеанс.ИмяПриложения} ИмяПользователя: %{Сеанс.ИмяПользователя} ИмяКомпьютера: %{Сеанс.ИмяКомпьютера}")
                    ;
                ;

                знч Соединения = ИнформационнаяБаза.ПолучитьСоединения()
                для Соединение из Соединения
                    если Соединение.ИмяПриложения == "1CV8C"
                        Консоль.Записать("    (-) Соединение: %{Соединение.ИмяПриложения} ИмяКомпьютера: %{Соединение.ИмяКомпьютера}")
                        Соединение.Отключить()
                    иначе
                        Консоль.Записать("    Соединение: %{Соединение.ИмяПриложения} ИмяКомпьютера: %{Соединение.ИмяКомпьютера}")

                    ;
                ;
            ;
        ;
    ;

    АдминистрированиеСервера.Закрыть()
;
4 Garykom
 
18.07.24
14:00
(3) ТС что сказал какая у него ОС и версия платформы 1С ?
5 arsik
 
18.07.24
14:05
(4) А какая разница? Экзикутор везде работает. Это ж жава.
6 Garykom
 
18.07.24
14:08
(5) на 8.1 тоже?
Или на ARM?
7 arsik
 
18.07.24
14:12
(6) Экзотику не рассматриваем.