|
Скрипт для отключения юзеров | ☑ | ||
---|---|---|---|---|
0
KoalaJustKoala
02.03.21
✎
08:28
|
Господа 1с-ники, я тут решил *поиграться* с сервером и нашел и переделал под себя вот такой вот скрипт:
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 («Конец») Вот в этом месте: Clusters = AgentConnection.GetClusters() Ждет от меня какого-то выражения в скобках Погуглил чего-то явного не нашел, до этого была проблема с библиотекой в reg32, но её успешно и быстро решил Может кто сталкивался с таким? |
|||
1
vbus
02.03.21
✎
08:36
|
Ничего в этом не понимаю.
set Cluster=AgentConnection.GetClusters() (0) не? |
|||
2
KoalaJustKoala
02.03.21
✎
08:38
|
(1) хм, ну попробовать можно
|
|||
3
KoalaJustKoala
02.03.21
✎
08:39
|
строка:36 знак:44
+ Set Clusters = AgentConnection.GetClusters() + ~ После ''('' ожидалось выражение. Не так оно работать не хочет ( |
|||
4
Галахад
гуру
02.03.21
✎
08:56
|
Да вроде правильно.
А что за фигурные кавычки? Может дело в них? |
|||
5
KoalaJustKoala
02.03.21
✎
08:57
|
(4) Хорошая мысля щас попробую с обычными
|
|||
6
vbus
02.03.21
✎
08:59
|
v8: Программный разрыв соединений пользователей в 1С 8.1.
тут не смотрел? |
|||
7
KoalaJustKoala
02.03.21
✎
09:01
|
(6) Если честно нет, видимо не нашло, щас гляну, спасибо :3
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |