Утилита предназначена для решения следующей задачи:
В рамках локальной сети есть несколько серверов, на которых подняты Серверы приложений 1С:Предприятие 8.1 и 8.2
Существует график резервного копирования информационных баз 1С. Согласно графика, каждая информационная база резервервируется средствами MS SQL и средствами 1С:Предприятие. Перед выгрузкой баз средствами 1С:Предприятия необходимо отключить пользователей, "забывших" завершить работу в 1С. Есть ряд пользователей, отключать которых нельзя, т.к. они могут выполнять долговременые задачи. Пользователи, не только отключаются от сервера 1С:Предприятие, но и "наказываются". В учетных записях этих пользователей закрываются разрешения на аутентификацию в базе любыми способами. Однако есть пользователи, которых можно отключать, но нельзя блокировать повторный вход (например - руководители отделов).
Информация о всех пользователях, которым был заблокирован доступ собирается и отсылается электронной почтой в виде уведомления ответственному лицу. Повторый вход заблокированного пользователя в базу возможен после письменного объяснения причин "забывчивости".
Перед каждым запуском процесса резервного копирования информационной базы выполняется запуск предлагаемой утилиты.
Утилита написана на C# 4 и требует для работы .Net Framework Client 4.
Настройки утилиты расположены в трех файлах:
AllowedUsers.ini - это перечень всех пользователей информационной базы, которых нельзя отключать от сервера или блокировать повторный вход.
untouchableusers.ini - это перечень всех пользователей информационной базы, которых можно отключать, но нельзя блокировать
settings.ini - это перечень настроек работы утилиты.
Состав файла settings.ini: (кодировка UTF-8)
Platform = "V82" или "V81" платформа, для которой выполняется утилита.
Server1C = "ServerName:ServerPort" Имя и порт подключения сервера приложений 1С:Предприятие
Base1CName = "ИмябазыДанных1СДляПодключения"
SmtpAddr = "smtpАдресПочтовойСлужбыДляОтправкиУведомленияОБлокировке"
SmtpPort = "25"
MailName = "SmtpLogin" как правило совпадает с адресом электронной почты отправителя
MailPassword = "SmtpPassword" пароль к почтовому ящику отправителя
Sender = "E-mailАдресОтправителя" можно указать любой адрес электронной почты.
Reciever = "E-mailАдресПолучателя" адрес ответственного, который будет уведомлен о блокировке доступа "нарушителей"
User1C = "ПользовательАдминистраторБазы" логин пользователя, имеющего администраторские права в выбранной информационно базе
Password1C = "ПарольАдминистратораБазы1С" пароль пользователя User1C
KickOutUsers = "false" если false - отключение "нарушителей" от сервера 1С не выполняется (полезно во время длительных профилактик серверов). Если "true" - отключаются все пользователи, кроме списка allowedusers.ini
BlockUsers = "false" - если false - блокировка повторного входа нарушителей не производится. Уведомление о блокировке не высылается.
SendNotification = "false" - если false - уведомление о блокировке доступа "нарушителей" ответственному лицу не высылается