Выгнать всех пользователей из базы 1С перед обновлением: шесть рабочих способов
Содержание
Чтобы отключить все сеансы 1С в клиент-серверной базе, откройте консоль администрирования серверов 1С, раскройте Информационные базы → <ваша база> → Сеансы, выделите все строки (Ctrl+A) и выберите в контекстном меню «Удалить». Чтобы пользователи сразу не зашли обратно, в свойствах базы включите «Блокировка начала сеансов включена» и задайте код разрешения.
В файловой базе консоли нет: сеансы завершают из самой программы (обработка «Блокировка работы пользователей» в типовых конфигурациях) или закрывают процессы 1С на компьютерах пользователей. Ниже — каждый способ по шагам, от мягкого к радикальному, и скрипт для ночных регламентов.
Что проверить, прежде чем отключать сеансы
Принудительное завершение сеанса — это обрыв. Документ, который пользователь редактировал, не запишется. Длинная операция (закрытие месяца , загрузка банковской выписки, обмен) прервётся на середине, и её придётся запускать заново.
Перед отключением:
- 📢 Предупредите людей. Письмо или сообщение в мессенджер за 10–15 минут. Так никто не потеряет набранные данные.
- 🔍 Посмотрите, кто внутри. Сеансы бывают не только пользовательские: фоновые задания, COM-соединения, веб-сервисы, Конфигуратор. Если висит сеанс Конфигуратора, уточните у разработчика, не сохраняет ли он изменения прямо сейчас.
- 🔑 Найдите пароль администратора кластера, если он задан. Без него консоль не даст удалять сеансы и менять свойства базы.
- 💾 Решите, нужна ли копия. Если после отключения вы обновляете конфигурацию или загружаете
.dt, резервная копия обязательна. Это то самое действие, ради которого всех и выгоняют.
Какой способ выбрать — зависит от типа базы и от того, что сломалось:
| Способ | Когда подходит | Риски |
|---|---|---|
| Консоль кластера | Клиент-серверная база, всё работает штатно | Минимальные: сеансы закрываются, процессы сервера живы |
| Блокировка из программы | Любая база на типовой конфигурации | Нужны права администратора в базе; в клиент-серверном варианте — ещё и доступ к кластеру |
| Закрытие файлов на файловом сервере | Файловая база в общей папке | Пользователь теряет несохранённое |
| Диспетчер задач | Сеанс «завис» и не удаляется | Можно убить чужие базы, если процесс обслуживает несколько |
| Остановка службы сервера | Сервер не отвечает, нужен полный перезапуск | Обрываются сеансы ВСЕХ баз на сервере |
Скрипт на rac | Регулярные ночные работы | Ошибка в скрипте — отключение не той базы |
Как отключить все сеансы 1С через консоль администрирования серверов
Консоль кластера — основной инструмент для серверных баз. Она ставится вместе с платформой (компонент «Администрирование сервера 1С:Предприятия») и открывается из меню «Пуск» как «Администрирование серверов 1С Предприятия».
Удаление сеансов
- Откройте консоль. Если сервер ещё не добавлен, щёлкните правой кнопкой по
Central 1C:Enterprise 8.3 servers→Создать → Центральный сервер 1С:Предприятия 8.3и укажите имя сервера. Порт агента по умолчанию —1540. - Раскройте
<сервер> → Кластеры → <кластер> → Информационные базы → <база> → Сеансы. - Справа появится список: пользователь, компьютер, приложение (тонкий клиент, Конфигуратор, фоновое задание), время начала.
- Щёлкните по любой строке, нажмите
Ctrl+A, затем правую кнопку мыши → «Удалить». - Подтвердите. Через несколько секунд нажмите
F5— список должен опустеть.
Если нужно отключить сеансы сразу всех баз кластера, откройте узел Кластеры → <кластер> → Сеансы (не внутри конкретной базы). Там собраны сеансы по всем информационным базам.
Сеанс «Фоновое задание» через минуту может появиться снова — это регламентные задания. Их отключают блокировкой, о ней ниже.
Блокировка новых подключений
Удалённые пользователи тут же попробуют войти обратно. Чтобы этого не случилось:
- В консоли щёлкните правой кнопкой по базе → «Свойства».
- Введите логин и пароль администратора информационной базы (пользователя 1С с полными правами).
- Отметьте «Блокировка начала сеансов включена».
- Заполните «Начало» и «Конец» блокировки — или оставьте пустыми, тогда она действует, пока вы её не снимете.
- В поле «Сообщение» напишите, что увидят пользователи: «Обновление базы, работа возобновится в 21:00».
- В «Код разрешения» впишите любую строку, например
upd2026. - Отметьте «Блокировка регламентных заданий включена».
- Нажмите «ОК», затем удалите оставшиеся сеансы.
Теперь вход возможен только с параметром кода разрешения. Сами вы зайдёте так:
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /S "srv1c\buh" /UC upd2026
После работ не забудьте снять обе галочки — иначе утром никто не войдёт, а регламентные задания (загрузка курсов валют, обмены) не запустятся.
Если консоль не открывается
Типичная ситуация после обновления платформы: консоль выдаёт ошибку при открытии или не видит сервер. Причина — консоль работает через библиотеку radmin.dll, а зарегистрирована версия от старой платформы. Перерегистрируйте её от имени администратора, указав папку той версии, на которой работает сервер:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Номер версии подставьте свой: он виден в названии папки внутри C:\Program Files\1cv8\. Версия консоли и сервера должна совпадать.
Завершение работы пользователей из самой программы 1С
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие) есть встроенная обработка, которая делает то же, что консоль, но из интерфейса программы. Она удобна, когда у бухгалтера-администратора нет доступа к серверу.
В Бухгалтерии 3.0 путь такой: Администрирование → Обслуживание → Блокировка работы пользователей. В ЗУП 3.1 и УТ 11 обработка лежит в том же разделе Администрирование → Обслуживание.
Как пользоваться:
- Отметьте «Запретить работу пользователей программы».
- Укажите время начала и окончания блокировки и текст сообщения.
- Задайте код разрешения.
- Нажмите «Установить блокировку».
Работающие пользователи получат предупреждение и через несколько минут будут отключены автоматически. Программа сама завершит их сеансы — для клиент-серверной базы она попросит логин и пароль администратора кластера.
Рядом в том же разделе есть список «Активные пользователи»: из него видно, кто сейчас работает, и можно завершить выбранный сеанс.
Свой сеанс обработка не отключает. Если после блокировки вы закроете программу, войти обратно получится только с кодом разрешения — запишите его.
Для автоматизации есть параметр запуска БСП. Он открывает базу, ставит блокировку и выгоняет пользователей без участия человека:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "D:\Base\Buh" /N "Администратор" /P "пароль" /C "ЗавершитьРаботуПользователей" /UC upd2026
Снять блокировку можно так же, параметром /C "РазрешитьРаботуПользователей" с тем же кодом /UC.
Файловая база: как отключить все сеансы без сервера
У файловой базы нет агента и кластера. Каждый пользователь открывает файл 1Cv8.1CD напрямую, и «сеанс» — это просто процесс 1С на его компьютере. Отсюда три способа.
Через блокировку в программе
Обработка «Блокировка работы пользователей» из предыдущего раздела работает и в файловом варианте. Это самый аккуратный способ: пользователи получают предупреждение и успевают сохранить документы.
Через «Активные пользователи» в Конфигураторе
Откройте базу в Конфигураторе и выберите Администрирование → Активные пользователи. Список покажет, кто подключён и с какого компьютера. Отключить людей отсюда нельзя, зато ясно, кому звонить.
Закрыть открытые файлы на файловом сервере
Если база лежит в общей папке на Windows-сервере, а пользователь недоступен (ушёл, оставив 1С открытой), закройте его подключение к файлу:
- На сервере, где лежит папка с базой, нажмите
Win+R→compmgmt.msc. - Откройте
Общие папки → Открытые файлы. - Найдите строки с путём к
1Cv8.1CD. - Правой кнопкой → «Закрыть открытый файл».
То же самое из командной строки:
openfiles /query /fo table | findstr /i "1Cv8.1CD"
У пользователя 1С выдаст ошибку и закроется. Всё, что он не записал, пропадёт.
Если база опубликована на веб-сервере, процесс IIS тоже держит соединение с файлом. Перед монопольными работами перезапустите пул приложений или остановите публикацию.
Принудительное завершение процессов через диспетчер задач
Этот способ — для случаев, когда сеанс в консоли не удаляется или программа висит.
Какие процессы за что отвечают:
| Процесс | Где работает | Что это |
|---|---|---|
1cv8c.exe | Компьютер пользователя | Тонкий клиент |
1cv8.exe | Компьютер пользователя | Толстый клиент и Конфигуратор |
rphost.exe | Сервер 1С | Рабочий процесс: в нём выполняется код сеансов |
rmngr.exe | Сервер 1С | Менеджер кластера |
ragent.exe | Сервер 1С | Агент сервера |
На компьютере пользователя откройте диспетчер задач (Ctrl+Shift+Esc), вкладка «Подробности», найдите 1cv8c.exe или 1cv8.exe → «Снять задачу». На терминальном сервере то же самое делается сразу для всех:
taskkill /F /IM 1cv8c.exe
taskkill /F /IM 1cv8.exe
Команда закроет 1С у всех пользователей терминального сервера, во всех базах.
На сервере 1С можно завершить rphost.exe. Это крайняя мера: один рабочий процесс обслуживает сеансы нескольких баз, и обрываются все они разом. Менеджер кластера запустит новый rphost.exe автоматически. Делайте это только когда сеанс завис намертво, а пользователи уже предупреждены.
rmngr.exe и ragent.exe вручную не убивайте — для них есть остановка службы.
Остановка службы сервера 1С:Предприятия
Остановка агента сервера отключает все сеансы всех баз на этом сервере. Это нужно при обновлении платформы, переносе сервера или когда кластер перестал отвечать.
Делайте это вне рабочего времени или после согласования: вместе с бухгалтерией отключатся склад, кадры и все остальные базы кластера, а также веб-сервисы и обмены.
Порядок:
Win+R→services.msc.- Найдите службу «Агент сервера 1С:Предприятия 8.3» (в скобках — разрядность, например
x86-64). - Правой кнопкой → «Остановить». Дождитесь, пока в диспетчере задач исчезнут
ragent.exe,rmngr.exeи всеrphost.exe. - Выполните нужные работы.
- Запустите службу снова.
Из командной строки PowerShell (от имени администратора):
Get-Service | Where-Object { $_.DisplayName -like "*1C:Enterprise 8.3 Server Agent*" -or $_.DisplayName -like "*Агент сервера 1С*" } | Stop-Service -Force
Пока служба остановлена, администраторы часто чистят сеансовые данные сервера: удаляют папки snccntx* внутри каталога кластера (по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541\). Это помогает, когда после перезапуска в консоли «висят» сеансы, которых уже нет. Удалять эти папки можно только при остановленной службе, и только их — файлы 1CV8Clst.lst и папки с базами не трогайте.
Скрипт отключения сеансов через rac
Для ночных регламентов (обновление, выгрузка .dt, тестирование и исправление) руками сидеть неудобно. Платформа содержит утилиту командной строки rac.exe, которая умеет всё то же, что консоль. Она работает через сервер администрирования ras, который нужно запустить заранее, например так:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ras.exe" cluster --daemon
По умолчанию ras слушает порт 1545. Его можно зарегистрировать как службу Windows, чтобы не запускать вручную.
Базовые команды rac:
rac cluster list— список кластеров и их идентификаторы;rac infobase summary list --cluster=<id>— базы кластера;rac session list --cluster=<id>— все сеансы;rac session terminate --cluster=<id> --session=<id>— завершить один сеанс.
Если на кластере задан администратор, к каждой команде добавьте --cluster-user=<логин> --cluster-pwd=<пароль>. Остальные параметры смотрите в справке rac help session.
Пример скрипта PowerShell, который завершает все сеансы одной базы:
$rac = "C:\Program Files\1cv8\8.3.xx.xxxx\bin\rac.exe"
$host1c = "localhost:1545"
$baseName = "buh"
# Идентификатор первого кластера
$cluster = ((& $rac $host1c cluster list | Select-String "^cluster\s+:") -split ":\s*")[1].Trim()
# Идентификатор нужной базы
$ibList = & $rac $host1c infobase summary list --cluster=$cluster
$infobase = $null
for ($i = 0; $i -lt $ibList.Count; $i++) {
if ($ibList[$i] -match "^name\s+:\s*$baseName\s*$") {
$infobase = ($ibList[$i-1] -split ":\s*")[1].Trim()
}
}
# Все сеансы этой базы — завершить
$sessions = & $rac $host1c session list --cluster=$cluster --infobase=$infobase |
Select-String "^session\s+:" | ForEach-Object { ($_ -split ":\s*")[1].Trim() }
foreach ($s in $sessions) {
& $rac $host1c session terminate --cluster=$cluster --session=$s
}
Write-Host "Завершено сеансов:" $sessions.Count
Скрипт рассчитан на вывод rac, где строка infobase : <id> идёт прямо перед name : <имя>. Проверьте это на своём сервере командой rac infobase summary list перед тем, как ставить скрипт в планировщик.
Сначала поставьте блокировку начала сеансов (через консоль, обработку БСП или rac infobase update — его параметры смотрите в rac help infobase), а уже потом завершайте сеансы. Иначе за время работы скрипта кто-то успеет зайти снова.
На Linux-сервере rac и ras лежат в каталоге платформы (/opt/1cv8/x86_64/<версия>/), команды те же.
Частые вопросы
Сеанс удалили, а он снова появился. Почему?
Освобождается ли лицензия после удаления сеанса?
1cv8c.exe, и выполните rac session list --licenses.Можно ли отключить сеансы без прав администратора кластера?
Нужно ли всех выгонять, чтобы сделать резервную копию?
.dt через Конфигуратор — да, нужен монопольный режим. Копию средствами СУБД (например, бэкап в MS SQL или PostgreSQL) можно делать при работающих пользователях.