Наткнулся на VBS-скрипт который выгоняет всех пользователей с одного рабочего процесса 1С, думаю, ну ведь это уже не актуально в ввиду того что уже многие используют кластеризацию и имеют в кластерах не один рабочий процесс.
На итого решил дописать VBS-ник, выкладываю на обозрение, может кому сгодиться:
'Cкрипт (только SQL) отключает всех пользователей от ИБ 1С:Предприятия ver >= v8
'На сервере подразумевается наличие только одного кластера и только одного рабочего процесса
Option Explicit
' 25.04.2013 - Дописал разгон всех пользователей со всех рабочих процессов
Dim UserName
Dim UserPass
Dim ServerName
Dim BaseName
'имя пользователя базы 1С:Предприятия
UserName = ""
'пароль пользователя базы 1С:Предприятия
UserPass = ""
'имя сервера 1С:Предприятия
ServerName = ""
'имя базы 1С:Предприятия к которой подключаемся
BaseName = ""
'Удаление всех соединений заданной ИБ сервера 1С
Dim Connector
Dim AgentConnection
Dim Cluster
Dim Clusters
Dim WorkingProcess
Dim WorkingProcesses
Dim WorkingProcessConnection
Dim ibDesc
Dim Connections
Dim Connection
Dim ConnectString
Set Connector = CreateObject("V82.COMConnector") ' указать в зависимости от вашей версии платформы V8, V81, V82, V83
Set AgentConnection = Connector.ConnectAgent(ServerName)
Clusters = AgentConnection.GetClusters()
Dim Q,W,I
For Q = LBound(Clusters) to UBound(Clusters)
'Указываем доступ к консоли 1С:Предприятия (только в том случае если определён администратор кластера, иначе прописать просто " " (пробелЫ))
Set Cluster = Clusters(Q)
AgentConnection.Authenticate Cluster, " ", " "
WorkingProcesses = AgentConnection.GetWorkingProcesses(Cluster)
For W = LBound(WorkingProcesses) to UBound(WorkingProcesses)
Set WorkingProcess = WorkingProcesses(W)
ConnectString = WorkingProcess.HostName & ":" & WorkingProcess.MainPort
Set WorkingProcessConnection = Connector.ConnectWorkingProcess(ConnectString)
WorkingProcessConnection.AddAuthentication UserName, UserPass
Set ibDesc = WorkingProcessConnection.CreateInfoBaseInfo()
ibDesc.Name = BaseName
Connections = WorkingProcessConnection.GetInfoBaseConnections(ibDesc)
For I = LBound(Connections) To UBound(Connections)
Set Connection = Connections(I)
If (Connection.AppID <> "COMConsole") then
WorkingProcessConnection.Disconnect Connection
End if
Next
Next
Next
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший