|
как завершить сеанс определенного пользователя в системе? Стоит скуль | ☑ | ||
---|---|---|---|---|
0
na1kk
19.05.18
✎
14:58
|
пробовал через ПолучитьСоединенияИнформационнойБазы(), мне ничего не дает, т.к. у нее нет метода отключения из базы пользака.
Через Коннектор = Новый COMОбъект("V8.COMConnector"); Сервер = Коннектор.ConnectServer("server"); Сервер.AddAuthentication("Login","password"); ИнформационнаяБаза = Сервер.CreateInfoBaseInfo(); ИнформационнаяБаза.Name = "1c"; СоединенияБазы = Сервер.GetIBConnections(ИнформационнаяБаза); ругается на ком.объект сразу |
|||
1
Мимохожий Однако
19.05.18
✎
15:00
|
Открой консоль администратора и удали сеанс пользователя.
|
|||
2
na1kk
19.05.18
✎
15:02
|
(1) не) нужно программно это сделать
|
|||
3
Мимохожий Однако
19.05.18
✎
15:06
|
(2) Регламентным заданием или по событию? По кнопке интерактивно, то достаточно (1).
|
|||
4
na1kk
19.05.18
✎
15:07
|
(3) рег.заданием, но нужно выбивать определенного пользователя, если он есть в системе
|
|||
5
shuhard
19.05.18
✎
15:07
|
(2)
НомерСоединения=0; Пользователь=ПараметрыЗапуска[2]; Пароль=ПараметрыЗапуска[3]; Попытка СтрокаСоединения=СтрокаСоединенияИнформационнойБазы(); ЭтоСоединение=НомерСоединенияИнформационнойБазы(); База=ПараметрыЗапуска[1];//"upp_13"; КОМ=Новый COMОбъект("V82.COMConnector"); Сервер=ПараметрыЗапуска[0]; Агент=КОМ.ConnectAgent(Сервер); Кластеры=Агент.GetClusters(); Кластер=Кластеры.GetValue(0); Агент.Authenticate(Кластер,"",""); РабочиеПроцессы=Агент.GetWorkingProcesses(Кластер); // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Для Каждого Процесс Из РабочиеПроцессы Цикл СтрокаСоединенияРП=Процесс.HostName+":"+Формат(Процесс.MainPort,"ЧГ="); СоединениеРП=КОМ.ConnectWorkingProcess(СтрокаСоединенияРП); СоединениеРП.AddAuthentication(Пользователь,Пароль); ОписаниеИБ=СоединениеРП.CreateInfoBaseInfo(); ОписаниеИБ.Name=База; Соединения=СоединениеРП.GetInfoBaseConnections(ОписаниеИБ); Для Каждого Соединение Из Соединения Цикл Если Соединение.AppID="COMConsole" Тогда Продолжить; КонецЕсли; Если Соединение.ConnID<>ЭтоСоединение Тогда СоединениеРП.Disconnect(Соединение); // всех кроме себя КонецЕсли; КонецЦикла; КонецЦикла; КОМ=Неопределено; ЗавершитьРаботуСистемы(Ложь); Исключение //Сообщить(ОписаниеОшибки()); КонецПопытки; |
|||
6
na1kk
19.05.18
✎
15:08
|
* если он активный в системе
|
|||
7
na1kk
19.05.18
✎
15:08
|
(5) вот на это и ругается
|
|||
8
na1kk
19.05.18
✎
15:08
|
КОМ=Новый COMОбъект("V82.COMConnector");
|
|||
9
na1kk
19.05.18
✎
15:08
|
пишет, что класс не зарегистрирован
|
|||
10
Мимохожий Однако
19.05.18
✎
15:08
|
Запрет входа в систему недостаточен?
|
|||
11
Мимохожий Однако
19.05.18
✎
15:10
|
(9) Зарегистрируй comcntrl.dll
|
|||
12
na1kk
19.05.18
✎
15:10
|
(10) нет, т.к. мне нужно чтобы пользак работал,и потом в опред.момент выбивало его
|
|||
13
na1kk
19.05.18
✎
15:10
|
(11) спасибо. попробую
|
|||
14
Cyberhawk
19.05.18
✎
15:13
|
(12) "нужно чтобы пользак работал,и потом в опред.момент выбивало его" // В каком момент? Когда заполнил большой документ и нажал "Записать"? :)
|
|||
15
shuhard
19.05.18
✎
15:14
|
(9) [пишет, что класс не зарегистрирован]
ну и ? |
|||
16
na1kk
19.05.18
✎
15:14
|
(15) ага, я понял) копаю в этом направлении)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |