Skip to content

Instantly share code, notes, and snippets.

@Konctantin
Created April 22, 2011 14:26
Show Gist options
  • Save Konctantin/936767 to your computer and use it in GitHub Desktop.
Save Konctantin/936767 to your computer and use it in GitHub Desktop.
'Begin
'Cкрипт (только SQL) отключает всех пользователей от ИБ 1С:Предприятия v8.1.
'На сервере подразумевается наличие только одного кластера и только одного рабочего процесса
'Далеет срипт производит выгрузку баз и содаёт лог
'имя сервера 1С:Предприятия
ServerName = "server"
'имя базы 1С:Предприятия к которой подключаемся
BaseName = "avia8"
'Каталог с резервными копиями
DrivePatch = "d:\1c"
'имя пользователя базы 1С:Предприятия
UserName = "SYSTEM"
'пароль пользователя базы 1С:Предприятия
UserPass = "1cc"
'Обновление конфигурации базы данных
UpdateDBCfg = "/UpdateDBCfg"
'Путь к фалу запуска программы 1С
one1CPath = """C:\Program Files\1cv81\bin\1cv8.exe"""
'Удаление всех соединений заданной ИБ сервера 1С
Dim Connector
Dim AgentConnection
Dim Cluster
Dim WorkingProcess
Dim WorkingProcessConnection
Dim ibDesc
Dim connections
Dim ConnectString
Set connector = CreateObject("V81.COMConnector")
Set AgentConnection = Connector.ConnectAgent(ServerName)
Set Cluster = AgentConnection.GetClusters()(0)
'Указываем доступ к консоли 1С:Предприятия (только в том случае если определён администратор кластера, иначе прописать просто " " (пробелЫ))
AgentConnection.Authenticate Cluster, " ", " "
Set WorkingProcess = AgentConnection.GetWorkingProcesses(Cluster)(0)
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)
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
'Формируется полное имя файлa выгрузки и лога
s = FormatDateTime(Date,0)
'Путь к файлу выгрузки
BackupPath = "/DumpIB " & DrivePatch & "\BACKUP\" & BaseName & "_" & s & ".dt"
'Путь к логу
LogPath = "/Out " & DrivePatch & "\log\" & BaseName & "_" & s & ".log -NoTruncate"
'Параметры запуска базы (SQL) имя кластера\имя базы пользователь пароль
Paramters = "DESIGNER /S " & ServerName & "\" & BaseName & " /N " & UserName & " /P " & UserPass & " /DisableStartupMessages"
'Set fs = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
'Backups
WshShell.Run one1CPath & " " & Paramters & " " & BackupPath, 0, True
'Запуск обновления конфигурации
WshShell.Run one1CPath & " " & Paramters & " " & LogPath & " " & UpdateDBCfg, 0, True
'End
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment