Администраторам информационных систем часто приходится сталкиваться с ситуацией, когда необходимо принудительно завершить работу пользователей в системе 1С:Предприятие. Это может быть вызвано плановыми работами, необходимостью обновления конфигурации, сменой лицензионных ключей или критическими ошибками в базе данных.

Процедура разрыва соединения должна выполняться аккуратно, чтобы избежать порчи данных или блокировки таблиц на уровне СУБД. Существует несколько методов, позволяющих отключить пользователей, начиная от стандартной консоли управления и заканчивая прямым воздействием на процессы сервера.

В данной статье мы подробно разберем основные способы прекращения сеансов, рассмотрим типичные ошибки и предоставим алгоритмы действий для различных версий платформы.

Использование консоли администрирования серверов

Самым корректным и рекомендуемым способом завершения работы пользователей является использование специализированного инструмента — Консоли администрирования серверов 1С Предприятия. Этот метод позволяет увидеть список всех активных подключений и завершить их штатно.

Для начала работы необходимо запустить утилиту rmngr.msc на сервере, где установлен кластер. В открывшемся окне нужно раскрыть дерево кластеров, найти нужный информационный сервис и перейти к разделу "Сеансы". Здесь отображается полная информация о текущих пользователях, включая имя компьютера, приложение и время начала сессии.

Выделите необходимый сеанс или группу сеансов, зажав клавишу Ctrl или Shift для множественного выбора. Нажмите правой кнопкой мыши и выберите пункт "Завершить". Система отправит запрос клиентскому приложению на корректное закрытие соединения.

⚠️ Внимание: Если пользователь в данный момент проводит сложную обработку данных или закрытие периода, принудительный разрыв через консоль может привести к необходимости перепроведения документов.

Иногда список сеансов может быть пуст, несмотря на то, что пользователи работают в системе. Это часто свидетельствует о проблемах связи между консолью и службой агента сервера, либо о том, что клиенты подключены напрямую к файловой базе, минуя сервер приложений.

📊 Какой способ отключения пользователей вы используете чаще всего?
Через консоль 1С
Перезапуск службы
Через диспетчер задач
Не отключаю, жду пока сами выйдут

Управление сеансами через интерфейс Предприятия

Если у администратора есть права на вход в базу данных в режиме 1С:Предприятие, он может управлять сеансами других пользователей непосредственно из интерфейса программы. Этот метод удобен тем, что не требует доступа к рабочему столу сервера.

Перейдите в меню Администрирование → Сеансы. Откроется список всех подключенных пользователей с детализацией по компьютерам и приложениям. Для массового отключения можно воспользоваться кнопкой "Завершить сеанс" в панели инструментов списка.

Важно понимать разницу между завершением сеанса и выгрузкой пользователей. Простое завершение разрывает соединение, но не запрещает повторный вход. Для предотвращения новых подключений необходимо использовать механизм "Блокировки регламентных заданий" или изменять настройки доступа.

  • 🔍 Проверка прав: Убедитесь, что ваша учетная запись имеет полные права на администрирование.
  • 🚫 Блокировка входа: Используйте параметр запуска /DisableStartupMessages для скрытия окон при массовом входе.
  • 💾 Сохранение данных: Предупредите пользователей за 5-10 минут до отключения.

Данный способ работает только с теми сеансами, которые активны в момент открытия списка. Если пользователь закроет программу самостоятельно до того, как вы нажмете кнопку завершения, его запись в списке может исчезнуть или пометиться как неактивная.

💡

Перед массовым отключением пользователей выведите на экран объявление через механизм "Рассылка сообщений" или корпоративный мессенджер, чтобы люди успели сохранить свои документы.

Принудительное завершение через Диспетчер задач

В ситуациях, когда консоль администрирования недоступна или зависла, приходится прибегать к более грубым методам воздействия на операционную систему. Завершение процессов через Диспетчер задач Windows является крайней мерой.

Необходимо найти процессы rphost.exe (рабочие процессы сервера) или 1cv8.exe (клиентские процессы, если управление идет с терминального сервера). Завершение процесса rphost приведет к разрыву всех сеансов, обслуживаемых данным рабочим процессом.

taskkill /F /IM rphost.exe

Использование команды taskkill с ключом /F гарантирует немедленное уничтожение процесса без попытки сохранить данные в кэше. Это создает риск потери незафиксированных транзакций в СУБД.

⚠️ Внимание: Убийство процессов ragent.exe (агент сервера) приведет к остановке всего кластера серверов, что сделает систему недоступной для всех пользователей до перезапуска службы.

После такого вмешательства настоятельно рекомендуется выполнить проверку целостности базы данных и перепроверить журналы регистрации на наличие критических ошибок. Операционная система может не успеть корректно освободить ресурсы, занятые процессом.

☑️ Действия после аварийного завершения

Выполнено: 0 / 4

Остановка службы сервера 1С:Предприятия

Глобальным способом отключения всех сеансов является полная остановка службы Agrmt Server 1C:Enterprise 8.3. Этот метод гарантированно разрывает все соединения, так как прекращает работу серверной части платформы.

Выполнить это можно через оснастку services.msc или командную строку с правами администратора. Команда net stop "A1C:Enterprise 8.3 Server Agent" инициирует корректную процедуру остановки, в ходе которой сервер попытается завершить активные транзакции.

Однако время остановки может варьироваться от нескольких секунд до нескольких минут, в зависимости от активности пользователей и объема обрабатываемых данных. Если служба не останавливается долгое время, возможно, один из процессов завис на уровне ядра ОС.

Метод Скорость Риск потери данных Рекомендация
Консоль администрирования Средняя Низкий Основной метод
Интерфейс 1С Высокая Низкий Для локального админа
Диспетчер задач Мгновенная Высокий Только в критических случаях
Остановка службы Низкая Средний Для техобслуживания

После остановки службы все пользователи потеряют соединение, и при попытке выполнить любое действие получат ошибку подключения. Это удобный способ для проведения ночных обновлений или резервного копирования на уровне файлов.

💡

Остановка службы — самый надежный способ гарантировать, что ни один пользователь не останется в системе, но он требует времени на корректное завершение транзакций.

Работа с сеансами в файловом варианте базы

В отличие от клиент-серверного варианта, файловая база данных не имеет центрального менеджера соединений. Пользователи подключаются напрямую к файлам базы на сетевом ресурсе, что усложняет задачу администратора по контролю сеансов.

Для просмотра подключений в файловом режиме можно использовать утилиту chmon.exe (монитор соединений), которая поставляется с дистрибутивом платформы. Она показывает список пользователей, открывших базу, и позволяет удалить их записи о блокировках.

Альтернативный метод — использование управления компьютером (compmgmt.msc). В разделе "Общие папки" → "Сеансы" можно увидеть пользователей, работающих с файлами базы, и принудительно разорвать их сессию на уровне файловой системы Windows.

  • 📂 Блокировки: Файл 1Cv8.1CD может быть заблокирован ОС, если процесс пользователя завис.
  • 🔒 Файл блокировки: Удаление файла 1Cv8.cdl иногда помогает сбросить зависшие соединения.
  • 💻 Сетевой доступ: Отключение сетевого диска у пользователя мгновенно прервет сеанс.

Следует помнить, что в файловом варианте при аварийном завершении сеанса риск повреждения структуры базы данных (.1CD) значительно выше, чем в клиент-серверном варианте под управлением PostgreSQL или MS SQL.

Почему файловая база не видит сеансы?

В файловом варианте информация о сеансах хранится локально на каждом клиенте и синхронизируется через файлы блокировок. Если сеть нестабильна, список сеансов может быть неактуален.

Автоматизация отключения через скрипты

Для регулярных задач, таких как ночной перезапуск серверов, целесообразно использовать автоматизацию. Скрипты на языке PowerShell или пакетные файлы (.bat) позволяют стандартизировать процесс и минимизировать человеческий фактор.

Можно использовать утилиту командной строки ras.exe (Remote Administration Server), которая позволяет управлять кластером серверов без графического интерфейса. С ее помощью можно получить список сеансов в формате текста и отфильтровать нужные.

ras session list --cluster=MyCluster --ib=MyBase

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

⚠️ Внимание: При написании скриптов обязательно предусмотрите логику исключений, чтобы не отключить критически важные регламентные задания или сеансы служебных пользователей.

Автоматизация также позволяет рассылать предупреждения пользователям за определенное время до отключения, используя механизмы взаимодействия с доменной инфраструктурой или почтовыми серверами.

💡

Добавьте в скрипт проверку наличия активных транзакций в СУБД перед командой на отключение, чтобы избежать разрыва в момент записи данных.

Что делать, если сеанс не отключается?

Если сеанс висит в статусе "Завершение" долгое время, проверьте журнал регистрации 1С и журнал событий Windows. Часто причина кроется в блокировке на уровне СУБД (LOCK) или зависшем сетевом соединении. В крайнем случае поможет перезапуск службы сервера.

Можно ли отключить конкретного пользователя по имени?

Да, в консоли администрирования и в интерфейсе 1С можно отфильтровать список сеансов по имени пользователя и завершить только выбранные сессии, не затрагивая остальных сотрудников.

Влияет ли отключение сеансов на лицензирование?

При корректном завершении сеанса лицензия освобождается практически мгновенно. При аварийном разрыве (через диспетчер задач) лицензия может оставаться занятой до истечения времени таймаута защиты (обычно от 5 до 15 минут).

Как предотвратить вход пользователей после отключения?

Для запрета входа необходимо установить технологическую блокировку в свойствах информационной базы в консоли администрирования или использовать параметры запуска, запрещающие подключение в определенное время.

Нужно ли перезагружать сервер после отключения всех сеансов?

Не всегда. Если цель — просто освободить память или сбросить зависшие процессы, достаточно завершения сеансов. Перезагрузка сервера требуется только при обновлении платформы или операционной системы.