Необходимо завершать все сеансы пользователей каждую ночь, перед выгрузкой данных входов / выходов пользователей 1С. Клиент-сервер. Необходимо логирование найденных и завершенных сеансов в файл
Данный скрипт предназначен для принудительного завершения пользовательских сеансов в кластере серверов 1С:Предприятие только для указанной базы данных, а не все подряд. Фоновые задания (BackgroundJob) пропускаются. В файл "ЗавершениеСеансов1С_дд-мм-гггг.log" записывается сколько найдено сеансов, завершая каждый сеанс пишет имя пользователя, имя базы, приложение, имя хоста (ПК).
Скрипт выполняет следующие действия:
Обнаружение сервисов 1С: Находит все службы Windows, связанные с сервером 1С, путем поиска служб, которые используют исполняемый файл ragent.exe.
Анализ параметров запуска: Для каждой найденной службы извлекает параметры командной строки, которые определяют конфигурацию кластера серверов 1С (порт, регистрационный порт, путь к каталогу кластера и т.д.).
Определение версии платформы: Анализирует версию файла ragent.exe для определения версии платформы 1С (8.2, 8.3, 8.4).
Подключение к агенту сервера: Устанавливает соединение с агентом сервера 1С через COM-соединитель, используя полученные параметры.
Аутентификация: Проходит аутентификацию в кластере с использованием учетных данных администратора.
Поиск целевой базы: Находит в кластере конкретную информационную базу по имени.
Завершение сеансов: Для найденной базы получает список активных сеансов и принудительно завершает каждый из них, кроме фоновых заданий.