Администрирование · 11 мин
Как выгнать всех пользователей из 1С
Проверенные способы завершить сеансы пользователей в 1С: консоль кластера, конфигуратор, блокировка соединений и внешняя обработка. Пошаговые инструкции и меры безопасности.
Завершить сеансы всех пользователей требуется перед обновлением конфигурации, восстановлением базы из резервной копии, регламентным обслуживанием SQL-сервера или экстренным откатом после неудачного релиза. В файловом варианте работы и клиент-серверном используются разные механизмы, и выбор способа зависит от того, есть ли у вас доступ к консоли кластера, конфигуратору или только к обычному интерфейсу предприятия.
Безопасный сценарий всегда состоит из трёх этапов: предупредить пользователей, заблокировать новые подключения, завершить активные сеансы. Если сразу «рубить» сеансы без блокировки, пользователи переподключатся автоматически — платформа 1С умеет восстанавливать соединение, и вы будете гнать их бесконечно. Поэтому блокировка соединений идёт первым шагом, а не последним.
Ниже разобраны рабочие способы: консоль кластера серверов 1С, конфигуратор, типовая обработка завершения сеансов, программный метод через код и варианты для файловых баз. Отдельно описаны риски обрыва сеансов и проверка результата.
Сначала заблокируйте новые подключения
Главная ошибка администраторов — удалять сеансы, не запретив новые. Платформа 1С при обрыве соединения предлагает пользователю перезапустить сеанс, и через минуту база снова полная. Поэтому любой сценарий начинается с установки блокировки соединений с информационной базой.
Блокировка устанавливается в свойствах информационной базы в консоли кластера: флаг «Блокировка регламентных заданий» и «Блокировка начала сеансов» (в старых версиях — «Блокировка установки соединений»). Дополнительно можно задать сообщение, которое увидят пользователи при попытке входа, например: «Идёт обновление, база будет доступна после 15:00». Это снимает львиную долю звонков администратору.
У блокировки есть параметры «Код разрешения» и время начала/окончания. Код разрешения позволяет войти администратору в заблокированную базу — его указывают в параметре запуска /UC код. Время начала удобно, если блокировка плановая: сеансы не прервутся сразу, но новые подключения перестанут приниматься с заданного момента.
Способ 1. Консоль кластера серверов 1С
Это основной инструмент для клиент-серверных баз. Откройте консоль «Серверы 1С:Предприятия» (1CV8 Servers.msc), разверните дерево: Центральные серверы → имя сервера → Кластеры → Локальный кластер → Информационные базы → ваша база → Сеансы. В правой части появится список активных сеансов с пользователями, приложениями и временем начала.
Чтобы выгнать всех, выделите все сеансы (Ctrl+A), кликните правой кнопкой и выберите «Удалить». Сеансы завершатся немедленно, пользователи увидят сообщение о разрыве соединения с кластером. Если блокировка соединений уже установлена, вернуться они не смогут.
- 1Откройте свойства информационной базы и включите блокировку сеансов и регламентных заданий, задайте сообщение и код разрешения
- 2Сохраните свойства и подождите 1–2 минуты, чтобы уведомлённые пользователи завершили работу
- 3Откройте ветку Сеансы, выделите все сеансы и удалите их через контекстное меню
- 4Проверьте, что список сеансов пуст, и приступайте к обновлению или обслуживанию
Обратите внимание на типы сеансов в колонке «Приложение». Тонкие и толстые клиенты — это пользователи, а вот сеансы фоновых заданий, COM-соединений и веб-сервисов принадлежат интеграциям и регламентным задачам. Их тоже нужно завершить, но лучше заранее выяснить, какие процессы за ними стоят, чтобы не оборвать важный обмен.
Способ 2. Конфигуратор: список активных пользователей
Если консоли кластера нет (например, работаете удалённо или нет прав на сервер), используйте конфигуратор. Войдите в базу в режиме конфигуратора с административными правами и откройте меню «Администрирование → Активные пользователи». Откроется список сеансов с пользователями, компьютерами и режимами запуска.
Выделите всех, кроме себя, и нажмите «Удалить» (или кнопку завершения сеанса). Сеансы будут принудительно завершены. Учтите: в файловом варианте это единственный штатный способ выгнать пользователей из интерфейса, но блокировку новых входов через конфигуратор не установить — её задают программно или через типовую обработку.
В клиент-серверном варианте конфигуратор показывает те же сеансы, что и консоль кластера, но не позволяет управлять блокировкой соединений на уровне кластера. Если нужно и заблокировать, и завершить — удобнее консоль или программный метод.
Способ 3. Типовая обработка блокировки соединений
В конфигурациях на базе Библиотеки стандартных подсистем (Управление торговлей, ERP, Зарплата и управление персоналом, Бухгалтерия предприятия) есть встроенный механизм: «Администрирование → Обслуживание → Блокировка работы пользователей» (в разных конфигурациях название может отличаться). Он объединяет блокировку и завершение сеансов в одном окне.
Установите флаг блокировки, задайте текст сообщения пользователям и время начала. Обработка покажет активные сеансы и предложит их завершить. После включения блокировки активным пользователям приходит сообщение о необходимости завершить работу, а новые входы запрещаются — кроме входа с кодом разрешения.
Способ 4. Программное завершение сеансов через код
Для автоматизации (например, скрипт ночного обновления) удобно управлять базой через COM-коннектор кластера или через встроенный язык 1С с использованием объекта администрирования. Типовой подход — установить блокировку соединений программно, а затем завершить сеансы перебором.
Соединения = ПолучитьСоединенияИнформационнойБазы();
Для Каждого Соединение Из Соединения Цикл
Если Соединение.НомерСоединения <> НомерСоединенияИнформационнойБазы() Тогда
// разрыв соединения через административный интерфейс кластера
КонецЕсли;
КонецЦикла;
На практике чаще используют административный COM-объект V83.COMConnector в связке с агентом сервера: подключаются к агенту, получают кластер и рабочие процессы, находят базу, вызывают установку блокировки и удаление сеансов. Такой скрипт можно повесить в планировщик задач Windows перед ночным обновлением.
Самостоятельно писать скрипт стоит только если вы понимаете модель администрирования кластера 1С. Ошибка в идентификаторах кластера или базы приведёт к тому, что блокировка применится не к той базе, а принудительное удаление сеансов без проверки типа приложения оборвёт регламентные задания.
Сравнение способов
Полный контроль: блокировка, сообщения, завершение сеансов. Требует доступа к серверу и прав администратора кластера
Подходит для файловых баз и когда нет доступа к консоли. Завершает сеансы, но не блокирует новые входы
Самый простой путь из режима предприятия, но доступен только в конфигурациях на Библиотеке стандартных подсистем
Для регулярной автоматизации и ночных обновлений. Требует навыков программирования и тестирования
Особенности файловых баз
В файловом варианте нет кластера и консоли, поэтому набор инструментов уже: список активных пользователей в конфигураторе, типовая обработка блокировки (если конфигурация на БСП) и крайняя мера — закрытие общего доступа к папке с базой.
Закрытие сетевого доступа к каталогу базы или переименование файла 1Cv8.1CD — аварийный вариант. Пользователи получат ошибку, но открытые у них сеансы могут завершиться с повреждением данных в кэше. Используйте это только если штатные способы недоступны, и обязательно после этого проверьте базу утилитой chdbfl или тестированием и исправлением.
Для файловой базы, опубликованной на веб-сервере, помогает остановка пула приложений или сайта в IIS — все сеансы завершатся, а новые подключения будут получать ошибку веб-сервера. Это чище, чем манипуляции с файлом базы.
Проверка результата и частые ошибки
После завершения сеансов убедитесь, что база действительно пуста. В консоли кластера список сеансов должен быть пуст (или содержать только ваш сеанс консоли). Проверьте также ветку «Соединения» — там не должно быть зависших соединений с рабочими процессами. Если соединения остались без сеансов, удалите их вручную.
Дополнительный признак успеха: попытка входа обычным пользователем возвращает ваше сообщение блокировки, а вход с кодом разрешения (/UC) работает. Если пользователи всё ещё заходят — блокировка не применилась: проверьте, что сохранили свойства базы и что время начала блокировки не стоит в будущем.
Не забудьте после завершения работ снять блокировку и включить регламентные задания обратно. Хорошая привычка — сразу после установки блокировки поставить себе напоминание о её снятии или задать время окончания блокировки заранее.
Что важно запомнить
Правильная последовательность всегда одна: предупредить пользователей → установить блокировку соединений с сообщением и кодом разрешения → завершить активные сеансы → проверить пустой список сеансов и соединений → после работ снять блокировку. Основной инструмент — консоль кластера, для файловых баз — конфигуратор и типовая обработка.
Частые вопросы
Можно ли выгнать пользователей без прав администратора кластера?
Да, если у вас есть административные права внутри самой информационной базы: через конфигуратор (Администрирование → Активные пользователи) или типовую обработку блокировки в режиме предприятия. Но установить блокировку на уровне кластера без прав администратора кластера нельзя.
Что увидят пользователи при принудительном завершении сеанса?
Платформа выдаст сообщение о разрыве соединения с сервером или о завершении сеанса администратором. Несохранённые данные в открытых формах будут потеряны, поэтому перед массовым завершением стоит дать пользователям 5–10 минут на сохранение работы.
Как войти в базу, пока действует блокировка соединений?
Используйте код разрешения, заданный при установке блокировки: добавьте в параметры запуска /UC код или укажите его в свойствах базы в списке информационных баз. Без кода войти сможет только тот, кто снимет блокировку через консоль кластера.
Завершаются ли фоновые задания при блокировке соединений?
Новые регламентные задания перестанут запускаться, если включена соответствующая блокировка, но уже выполняющиеся фоновые задания продолжат работу. Их нужно завершать отдельно — через список сеансов в консоли кластера, выбрав сеансы с типом «Фоновое задание».
Опасно ли принудительное завершение сеансов для данных?
Для клиент-серверной базы на СУБД риск минимален: незавершённые транзакции откатываются. Опаснее обрывать сеансы в момент интенсивной записи в файловой базе — там возможно повреждение файла. В любом случае перед обслуживанием делайте резервную копию.
Как автоматизировать выгон пользователей перед ночным обновлением?
Напишите скрипт (PowerShell или пакетный) с использованием COM-объекта администрирования кластера: установка блокировки, пауза, удаление сеансов, запуск обновления, снятие блокировки. Повесьте скрипт в планировщик задач Windows и протестируйте на копии базы.