Скрипт завершения всех сеансов всех видов в одной конкретной базе 1с на сервере 1с

Экспорт в PDF Преобразовать страницу в формат Open Document

Дата создания: 2024/07/03 07:17 (C) mihanik

Дано

  • Сервер 1С
  • База 1С
  • В базе много разных активных сеансов

Надо

Завершить все сеансы всех видов в нужной базе

Решение

Выполняется всё несложным скриптом на VBS

Для запуска скрипта лучше использовать сервер сценариев CScript
Важно !
Скрипт будет работать только если в системе зарегистрирована comcntr.dll (COMConnector) соответствующей платформы 1С!!!
Option Explicit
 
Dim ServerName				' имя кластера 1С:Предприятия
ServerName = "server1c"
 
Dim TargetBaseName			' Имя базы от которой отключаем сессии
TargetBaseName = "mybase"
 
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

Файл со скриптом: kickout1cusersfrommybase.vbs

Источники

⇑ Наверх ⇑

В моей WIKI постоянно ведётся какая-то работа со статьями.
Если у вас возникли вопросы или замечания,
можете их отправлять на почту support@mihanik.net
Только авторизованные участники могут оставлять комментарии.
программирование_и_scripting/vbscript/скрипт_завершения_всех_сеансов_всех_видов_в_одной_конкретной_базе_1с_на_сервере_1с.txt · Последнее изменение: 2024/07/03 07:22 — mihanik
Яндекс.Метрика