|
VBS скрипты для работ с 1С | ☑ | ||
---|---|---|---|---|
0
RalexR
25.05.12
✎
13:37
|
Добрый день! Ищу VBS команду для установки блокировки фоновых заданий в свойствах серверной базы.Кто-нибудь сможет помочь?
|
|||
1
Maxus43
25.05.12
✎
13:37
|
при чем тут VBS?
|
|||
2
Ranger_83
25.05.12
✎
13:39
|
(0)в консоли сервера 1с в свойства базы галочка
|
|||
3
fisher
25.05.12
✎
13:41
|
Думаю, СП может помочь. Там есть нужная "VBS-команда"
|
|||
4
RalexR
25.05.12
✎
13:56
|
Скрипт дописываю для выполнения регламентных заданий. Хочу на всякий случай перед началом выгрузки бекапа заблокировать соединения и фоновые задания, после выгрузке разблокировать всё. вот.
|
|||
5
RalexR
25.05.12
✎
14:02
|
никто ничего не подскажет? в синтаксис-помошнике нужную команду не нашёл!
|
|||
6
RalexR
25.05.12
✎
14:03
|
точнее это наверное свойство базы.
|
|||
7
pumbaEO
25.05.12
✎
14:11
|
' Отключает включает пользователей
Sub User_Off_On(id,iType) Dim obj_ThisCluster Str_Base=BDArray(id,1) Str_ServerAndPort=BDArray(id,0) Select Case iType Case 0 AddLog id,"Запуск установки блокировки базы данных" Case 1 AddLog id,"Запуск прерывание соединений пользователей" Case Else AddLog id,"Запуск отключения блокировки базы данных " End Select AddLog id,"Состояние БД:"&CStr(BDArray(id,2)) Select Case iType Case 0 Case 1 If BDArray(id,2)>1 Then Exit Sub End If Case Else If BDArray(id,2)>4 Then Exit Sub End If End Select Str_LogFile=Str_PathLog&Str_Base&".txt" ' Определяем параметры кластера сервера AddLog id,"Определяем параметры кластера серверов" Str_Server="" Str_Port="" I_PozPort=InStr(Str_ServerAndPort,":") If I_PozPort>0 Then Str_Server=Left(Str_ServerAndPort,I_PozPort-1) Str_Port=Mid(Str_ServerAndPort,I_PozPort+1) ' если есть порт 'то как правило рабочий порт на 1 меньше I_Port=CInt(Str_Port) If I_Port>0 Then Str_Port=":"&CStr(I_Port-1) End If Else Str_Server=Str_ServerAndPort End If Set Obj_connection = CreateObject("V82.COMConnector") 'Получим порт рабочего процесса Srt_portWorkProcess="" Set Obj_Agent=Obj_connection.ConnectAgent(Str_Server+Str_Port) For Each obj_Cluster In Obj_Agent.GetClusters() On Error Resume Next Set Obj_Arr_workProcess=Obj_Agent.GetWorkingProcesses(obj_Cluster) If Err.Number<>0 Then On Error Goto 0 Obj_Agent.Authenticate obj_Cluster,Str_UserAdminCluster,Str_PassAdminCluster Else On Error Goto 0 End If Err.Clear() For Each obj_workProcess In Obj_Agent.GetWorkingProcesses(obj_Cluster) If obj_workProcess.Running=1 AND obj_workProcess.Use>0 Then Srt_portWorkProcess=CStr(obj_workProcess.MainPort) Set obj_ThisCluster=obj_Cluster Exit For End If Next Next If Srt_portWorkProcess="" Then BDArray(id,2)=9 AddLog id,"ERR--> Не удалось определить порт рабочего процесса" Exit Sub Else AddLog id,"Рабочий процесс:"&Str_Server&":"&Srt_portWorkProcess End If AddLog id,"Авторизация в БД :" Set obj_ConnectionWorkProcess=Obj_connection.ConnectWorkingProcess(Str_Server&":"&Srt_portWorkProcess) obj_Arr_obj_ConnectionWorkProcess=obj_ConnectionWorkProcess.GetInfoBases() For Each obj_IB In obj_Arr_obj_ConnectionWorkProcess If UCase(obj_IB.Name)=UCase(Str_Base) Then If obj_IB.DBName="" Then ' Авторизация obj_ConnectionWorkProcess.AddAuthentication Str_UserAdmin,Str_PassAdmin End If If obj_IB.DBName="" Then BDArray(id,2)=9 AddLog id,"ERR--> Не удалось авторизоваться в базе данных" Exit Sub Else AddLog id,"OK" End If Exit For End If Next Select Case iType Case 0 AddLog id,"Установка блокировки базы данных в "&CStr(d_Denied) ' устанавливаем блокировку базы obj_IB.PermissionCode= Str_CodeEnabelBase obj_IB.SessionsDenied =True obj_IB.DeniedFrom =d_Denied obj_IB.DeniedTo = #1/1/100# obj_IB.DeniedMessage=Str_DeniedMess obj_IB.ScheduledJobsDenied=True obj_ConnectionWorkProcess.UpdateInfoBase obj_IB AddLog id,"ОК" Case 1 AddLog id,"Прерывание соединений пользователей" obj_Arr_obj_IB_Info=Obj_Agent.GetInfoBases(obj_ThisCluster) For Each obj_IB_Info In obj_Arr_obj_IB_Info If UCase(obj_IB_Info.Name)=UCase(Str_Base) Then Exit For End If Next ' Отключаем соединения базы данных obj_connectionsV8=Obj_Agent.GetInfoBaseSessions(obj_ThisCluster,obj_IB_Info) For Each obj_connectV8 In obj_connectionsV8 If Not obj_connectV8.AppID="COMConsole" Then AddLog id," "&CStr(obj_connectV8.SessionID)&" "&obj_connectV8.AppID&" "&obj_connectV8.userName&" "&obj_connectV8.Host Obj_Agent.TerminateSession obj_ThisCluster, obj_connectV8 AddLog id," ОК" End If Next b_notConnection=True obj_connectionsV8=Obj_Agent.GetInfoBaseSessions(obj_ThisCluster,obj_IB_Info) For Each obj_connectV8 In obj_connectionsV8 If Not obj_connectV8.AppID="COMConsole" Then b_notConnection=False Exit for End If Next ' Проверяем нет ли соединений If b_notConnection Then AddLog id,"Все соединения отключены" BDArray(id,2)=2 Else BDArray(id,2)=9 AddLog id,"ERR - > Не все соединения отключены" End If Case Else AddLog id,"Отключение блокировки базы данных " ' Снимаем блокировку базы obj_IB.SessionsDenied =False obj_IB.ScheduledJobsDenied=False obj_ConnectionWorkProcess.UpdateInfoBase obj_IB AddLog id,"ОК" BDArray(id,2)=5 If b_NetSend Then str_command="net send "&Str_DomenNetSend&" "&Replace(Str_OnLineMessage,"%Str_BaseSTR%",BDArray(id,4)) AddLog id,"Отправка сообщения в домен:" AddLog id,""&str_command WshShell.Run str_command End If End Select AddLog id,"Состояние БД:"&CStr(BDArray(id,2)) End Sub |
|||
8
Lama12
25.05.12
✎
14:33
|
(5) Не в синтакс-помошнике ищи, а во встроенной справке (это разные вещи).
|
|||
9
fisher
25.05.12
✎
16:51
|
(5) СП - Средства интеграции и администрирования - Менеджер COM соденинений - Администрирование кластера серверов
Читаешь и разбираешься с объектной моделью. Тебе нужно свойство IInfoBaseInfo.ScheduledJobsDenied |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |