Если надо отключить всех, кроме себя, то код ниже подойдет:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Пользователь="Администратор";
Пароль="";
Попытка
СписокОтключенныхПользователей=Новый СписокЗначений;
СписокНЕОтключенныхПользователей=Новый СписокЗначений;
СтрокаСоединения=СтрокаСоединенияИнформационнойБазы();
ЭтоСоединение=НомерСоединенияИнформационнойБазы();
Сервер=НСтр(СтрокаСоединения,"Srvr");
Если СтрДлина(Сервер)>1 И Сред(Сервер,СтрДлина(Сервер),1) = "1" Тогда
Сервер = Сред(Сервер,1,СтрДлина(Сервер)-1);
Сервер = Сервер+"0";
КонецЕсли;
База=НСтр(СтрокаСоединения,"Ref");
КОМ = Новый COMОбъект(ИмяКонектора());
Агент=КОМ.ConnectAgent(Сервер);
Кластеры=Агент.GetClusters();
Кластер=Кластеры.GetValue(0);
Агент.Authenticate(Кластер,"","");
РабочиеПроцессы=Агент.GetWorkingProcesses(Кластер);
Для Каждого Процесс Из РабочиеПроцессы Цикл
Если Процесс.Running = 0 Тогда
Продолжить; // Если процесс не запущен, то слетает 1С
КонецЕсли;
СтрокаСоединенияРП=Процесс.HostName+":"+Формат(Процесс.MainPort,"ЧГ=");
СоединениеРП=КОМ.ConnectWorkingProcess(СтрокаСоединенияРП);
СоединениеРП.AddAuthentication(Пользователь,Пароль);
ОписаниеИБ=СоединениеРП.CreateInfoBaseInfo();
ОписаниеИБ.Name=База;
Соединения=СоединениеРП.GetInfoBaseConnections(ОписаниеИБ);
Для Каждого Соединение Из Соединения Цикл
Если Соединение.AppID = "backgroundjob" ИЛИ Соединение.AppID = "designer" ИЛИ Соединение.AppID = "comconsole" ИЛИ
Соединение.UserName="exchange" ИЛИ Соединение.UserName = ИмяПользователя() Тогда
Если СписокНЕОтключенныхПользователей.НайтиПоЗначению(Соединение.UserName)=Неопределено Тогда
СписокНЕОтключенныхПользователей.Добавить(Соединение.UserName);
КонецЕсли;
Продолжить;
КонецЕсли;
Если Соединение.ConnID<>ЭтоСоединение и Соединение.AppID="1CV8" Тогда //на всякий случай
Если СписокОтключенныхПользователей.НайтиПоЗначению(Соединение.UserName)=Неопределено Тогда
СписокОтключенныхПользователей.Добавить(Соединение.UserName);
КонецЕсли;
//СоединениеРП.Disconnect(Соединение);
Сообщить ("могли бы отключить "+ Соединение.UserName) ;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КОМ=Неопределено;
Исключение
Сообщить (ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Функция ИмяКонектора()
СисИнфо = Новый СистемнаяИнформация;
ПодстрокиВерсии = РазложитьСтрокуВМассивПодстрок(СисИнфо.ВерсияПриложения,".");
Возврат "v"+ПодстрокиВерсии[0]+ПодстрокиВерсии[1]+".COMConnector";
КонецФункции
Показать