Здравствуйте. Имеется скрипт для завершения работы пользователей:
имя пользователя 1С:Предприятия
UserName = ""
'пароль пользователя 1С:Предприятия
UserPass = ""
'имя сервера 1С
AppServerName = ""
BaseName = ""
Set Connector = CreateObject("V83.COMConnector")
Set AgentConnection = Connector.ConnectAgent(AppServerName)
Set Cluster = AgentConnection.GetClusters()(0)
AgentConnection.Authenticate Cluster, "", ""
Set WorkingProcess = AgentConnection.GetWorkingProcesses(Cluster)(0)
ConnectString = WorkingProcess.HostName & ":" & WorkingProcess.MainPort
Set WorkingProcessProc = Connector.ConnectWorkingProcess(ConnectString)
WorkingProcessProc.AddAuthentication UserName, UserPass
Set infobaseinfo = WorkingProcessProc.CreateInfoBaseInfo()
infobaseinfo.Name = BaseName
Connections = WorkingProcessProc.GetInfoBaseConnections(infobaseinfo)
Dim i
Dim Connection
For i = LBound(Connections) To UBound(Connections)
set Connection = connections(i)
If (Connection.AppID <> "COMConsole") then
WorkingProcessConnection.Disconnect Connection
End if
Next
Показать
Данный скрипт вылетает с ошибкой: Ошибка "Прекращена работы программы Microsoft Windows Based Script Host" т.е происходит какое-то неведомое исключение, может кто сталкивался с таким? Что можно сделать?
(1) pomkka, при выполнении какой строки вылетает?
И скрипт неправильный...
Ты завершаешь соединения конкретного рабочего процесса, а их может быть несколько.
И вообще надо не соединения убивать, а сессии. Смотри методы GetInfoBaseSessions и TerminateSession