Автоматическое закрытие сеансов пользователей с помощью VBS.
Доброго времени суток!
Столкнулся тут с такой проблемой, нашел скрипт, оптимизировал его под свой кластер, но все равно выдает ошибку, мол библиотеки такой нет.
Ошибку выдает на 35 строке 1м символе, мол библиотеки такой нет!
Представляю 35 строку:
Может кто сталкивался?
Как лечить такое?
Столкнулся тут с такой проблемой, нашел скрипт, оптимизировал его под свой кластер, но все равно выдает ошибку, мол библиотеки такой нет.
Option Explicit
Dim UserName
Dim UserPass
Dim ServerName
Dim BaseName
'имя пользователя базы 1С:Предприятия
UserName = "******"
'пароль пользователя базы 1С:Предприятия
UserPass = "*****"
'имя кластера 1С:Предприятия
ServerName = "127.0.0.1"
'имя базы 1С:Предприятия к которой подключаемся
BaseName = "TestTMC"
Dim Connector
Dim AgentConnection
Dim Cluster
Dim Clusters
Dim WorkingProcess
Dim WorkingProcesses
Dim WorkingProcessConnection
Dim ibDesc
Dim Connections
Dim Connection
Dim ConnectString
Dim IBB
Dim IBBl
Dim Sessions
Dim ISe
Dim SessionsActiv
Set Connector = CreateObject("V83.COMConnector") ' указать в зависимости от вашей версии платформы V8, V81, V82, V83
MsgBox ("Начало")
Set AgentConnection = Connector.ConnectAgent(ServerName)
Clusters = AgentConnection.GetClusters()
Dim Q,W,I
For Q = LBound(Clusters) to UBound(Clusters)
Set Cluster = Clusters(Q)
'Указываем доступ к консоли 1С:Предприятия (только в том случае если определён администратор кластера, иначе прописать просто " " (пробелы))
AgentConnection.Authenticate Cluster, "UserName", "UserPass"
WorkingProcesses = AgentConnection.GetWorkingProcesses(Cluster)
IBB = AgentConnection.GetInfoBases(Cluster)
For I = LBound(IBB) To UBound(IBB)
Set IBBl = IBB(I)
Sessions = AgentConnection.GetInfoBaseSessions (Cluster,IBBl)
For ISe = LBound(Sessions) To UBound(Sessions)
Set SessionsActiv = Sessions(ISe)
If (SessionsActiv.AppID <> "COMConsole") then
AgentConnection.TerminateSession Cluster,SessionsActiv
MsgBox ("Отключаем_Сесию")
End if
Next
Next
' Отключение соединение (если потребуеться а пока оставлю здесь)
' 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
' MsgBox ("Отключаем_Соединение")
' End if
' Next
' Next
Next
MsgBox ("Конец")
ПоказатьОшибку выдает на 35 строке 1м символе, мол библиотеки такой нет!
Представляю 35 строку:
Set AgentConnection = Connector.ConnectAgent(ServerName)
Может кто сталкивался?
Как лечить такое?
Найденные решения
попробуйте зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.
В 32-битной версии сервера проблема решилась бы командой
regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
в 64-битной версии команда будет примерно такой * :
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
* если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u
** если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше "
В 32-битной версии сервера проблема решилась бы командой
regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
в 64-битной версии команда будет примерно такой * :
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
* если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u
** если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше "
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
попробуйте зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.
В 32-битной версии сервера проблема решилась бы командой
regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
в 64-битной версии команда будет примерно такой * :
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
* если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u
** если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше "
В 32-битной версии сервера проблема решилась бы командой
regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
в 64-битной версии команда будет примерно такой * :
C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
* если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u
** если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить, а затем зарегистрируйте библиотеку, как написано выше "
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот