Дано: есть кластер серверов 1С, на кластере 1С имеется некая база
Надо: выгнать пользователей из базы 1С, например, для того, чтобы сделать выгрузку базы в DT-файл
Решение: Запускаем скрипт следующего содержания
Option Explicit Dim ServerName ' имя кластера 1С:Предприятия ServerName = "server1c" Dim TargetBaseName ' Имя базы от которой отключаем сессии TargetBaseName = "base01" Dim ClusterAdmin ' Имя админа кластера, если есть ClusterAdmin = "" Dim ClusterAdminPassword ' Пароль админа кластера, если есть. ClusterAdminPassword = "" Dim Connector Dim AgentConnection Dim Cluster Dim Clusters Dim WorkingProcesses Dim IBB Dim IBBl Dim Sessions Dim SessionsActiv Dim MyBaseName Set Connector = CreateObject("V83.COMConnector") Set AgentConnection = Connector.ConnectAgent(ServerName) Clusters = AgentConnection.GetClusters() For Each Cluster In Clusters AgentConnection.Authenticate Cluster, ClusterAdmin,ClusterAdminPassword WorkingProcesses = AgentConnection.GetWorkingProcesses(Cluster) IBB = AgentConnection.GetInfoBases(Cluster) For Each IBBl In IBB Sessions = AgentConnection.GetInfoBaseSessions (Cluster,IBBl) For Each SessionsActiv In Sessions If (SessionsActiv.AppID <> "COMConsole") Then MyBaseName = IBBl.Name if TargetBaseName = MyBaseName Then wscript.Echo "Отключаем: " & SessionsActiv.userName & " от " & MyBaseName AgentConnection.TerminateSession Cluster,SessionsActiv End If End if Next Next Next Set AgentConnection = nothing Set Connector = nothing