Блокировка подключения к 1с средствами VBS.

21.07.16

Администрирование - Информационная безопасность

Установка блокировки доступа к безе и сброс подвисших соединений.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
monopoly_1.0
.vbs 3,24Kb ver:1.0
0 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Файл VBScript для установки блокировки доступа пользователей к базе 1с для проведения плановых работ. Данный скрипт устанавливает блокировку подключений без ключа "/UC" и делает перезапуск службы агента 1с для сброса подвисших соединений.

После проведения данных действий, можно проводить обслуживание базы запустив 1с с ключем "/UC" где в качестве кода указать код установленный в настройках скрипта.

По истечении времени блокировки, доступ к базе будет открыт.

//---------------------------------------------------------------------------------

' VBScript Blocked1cForBackUp.vbs
' Sample script to Blocked 1c and Stop or Start a Service
' [url]www.computerperformance.co.[/url]
' Created by Lex  21/07/2016 Version 1.0
' -------------------------------------------------------' 
Sub RestartService
        Dim objWMIService, objItem, objService
        Dim colListOfServices, strComputer, strService, intSleep 
        strComputer = "."
        intSleep = 15000 ' Время между остановкой и запуском службы
        ' Имя службы которую необходимо перезапустить
        strService = " '1C:Enterprise 8.2 Server Agent (x86-64)' "
        Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" _
        & strComputer & "\root\cimv2")
        Set colListOfServices = objWMIService.ExecQuery _
        ("Select * from Win32_Service Where Name ="_
        & strService & " ")
        For Each objService in colListOfServices
        objService.StopService()
        WSCript.Sleep intSleep
        objService.StartService()
        Next 
End Sub


Sub BlockedConnect
        Dim Connector,AgentConnection,Cluster,WorkingProcess,WorkingProcessConnection,ibDesc,connections,ConnectString
        NameLogFile = "monopoly.log" 'Имя Log файла
        'Установим путь к лог файлу как и путь запуска скрипта
        Out=Replace(WSH.ScriptFullName, WSH.ScriptName, NameLogFile )
        Set fs = CreateObject("Scripting.FileSystemObject") 
        Set OutFile = fs.OpenTextFile(Out, 8, True)
            'Указываем имя пользователя с правами доступа к консоли 
            AdminName = "Администратор" 
            'Указываем пароль
            UserPass = "Пароль"
            'Укажем IP Сервера с базами  1c 
            ServerName    =    "192.168.1.11"
            'Укажем Имя базы
            BaseName    =    "Test"
        WScript.Quit (0)
        Set Connector = CreateObject("V82.COMConnector")
        Set AgentConnection = Connector.ConnectAgent(ServerName)
        Set Cluster = AgentConnection.GetClusters()(0)
        AgentConnection.Authenticate Cluster, "", ""
        For Each WorkProcess In AgentConnection.GetWorkingProcesses(Cluster)
        ConnectString = WorkProcess.HostName & ":" & WorkProcess.MainPort
            Set WorkProcessConnection = Connector.ConnectWorkingProcess(ConnectString)
         
        WorkProcessConnection.AddAuthentication AdminName, UserPass
        BaseList = WorkProcessConnection.GetInfoBases()
            For i = LBound(BaseList) To UBound(BaseList)
                If BaseList(i).Name = BaseName Then
                    Set Base = BaseList(i)
                    Connections = WorkProcessConnection.GetInfoBaseConnections(Base)
                    LockMessageText = vbCrLf + "БАЗА ЗАКРЫТА НА СОЗДАНИЕ РЕЗЕРВНОЙ КОПИИ!" + vbCrLf + " ВРЕМЯ ОЖИДАНИЯ ОКОЛО 5 - 10 МИНУТ." 
                    LockPermissionCode = "Kod" ' Код блокировки базы 
                    test=WorkProcessConnection.GetInfoBases()
                    Base.ConnectDenied = True
                    Base.DeniedFrom = CStr(Now())
                    Base.DeniedTo = CStr(Now() + 1/300)
                                
                    Base.DeniedMessage = LockMessageText
                    Base.PermissionCode = LockPermissionCode
                        OutFile.WriteLine(CStr(Now) + " Установлено сообщение для пользователей: "+LockMessageText)
                        OutFile.WriteLine(CStr(Now) + " Установлен код доступа " + LockPermissionCode)
                        OutFile.WriteLine(CStr(Now) + " Установлена блокировка с "+CStr(Base.DeniedFrom)+" по "+ CStr(Base.DeniedTo))
        
                    WorkProcessConnection.UpdateInfoBase(Base)
                    OutFile.Close()  
        
                End If
            Next
        Next

End Sub 
On Error Resume Next 
BlockedConnect()
RestartService()

//---------------------------------------------------------------------------------

Вступайте в нашу телеграмм-группу Инфостарт

VBS VBScript Блокировка доступа к безе.

См. также

Разработка внешних компонент Программист 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3600 руб.

12.05.2020    31043    142    100    

98

Разработка внешних компонент Телефония, SIP Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

5160 руб.

04.05.2018    49031    126    68    

70

Разработка внешних компонент Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

3000 руб.

17.09.2018    38637    116    128    

119

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    4194    bayselonarrend    14    

52

Разработка внешних компонент Программист 1С v8.3 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    8002    kovalevdmv    27    

82

Информационная безопасность Пароли 1С v8.3 Бесплатно (free)

Все еще храните пароли в базе? Тогда мы идем к вам! Безопасное и надежное хранение секретов. JWT авторизация. Удобный интерфейс. Демо конфигурация. Бесплатно.

30.05.2024    10550    kamisov    19    

63

Разработка внешних компонент Программист 1С v8.3 Бесплатно (free)

А давайте запилим 8.3.26 до релиза, или оповещение с сервера...

19.02.2024    8333    starik-2005    38    

60

Разработка внешних компонент Программист 1С v8.3 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    4477    3    0    

5
Для отправки сообщения требуется регистрация/авторизация