Отключаем активных пользователей 1С: консоль, блокировка, rac и процессы
Содержание
Завершить сеанс пользователя
в 1С 8.3 проще всего в консоли «Администрирование серверов 1С Предприятия»: Кластеры → ваш кластер → Информационные базы → база → Сеансы, правый клик по сеансу → Удалить. Это работает для клиент-серверной базы. В файловой базе консоли нет, там сеансы закрывают из самой программы или через процессы Windows.
Какой способ выбрать, зависит от задачи. Выкинуть одного зависшего сотрудника — хватит консоли или формы «Активные пользователи». Освободить базу под обновление — нужна блокировка начала сеансов, иначе люди тут же зайдут обратно. Регулярно чистить забытые сеансы, которые держат лицензии, — удобнее скриптом на утилите rac по расписанию.
Способы завершить работу пользователей: что когда подходит
| Способ | Тип базы | Когда выбирать | Что теряет пользователь |
|---|---|---|---|
Консоль кластера, Сеансы → Удалить | Клиент-серверная | Разово отключить 1–5 человек | Несохранённые данные открытых форм |
| Форма «Активные пользователи» в конфигурации | Обе | Нет доступа к серверу, но есть права администратора в базе | То же |
| Блокировка начала сеансов | Обе (в файловой — средствами конфигурации) | Обновление, исправление, выгрузка .dt | Получает предупреждение заранее, успевает сохраниться |
Утилита rac | Клиент-серверная | Скрипты, работа с Linux-сервером, массовые операции | То же, что в консоли |
| Завершение процесса ОС | Обе | Сеанс не удаляется штатно, процесс завис | Всё несохранённое; на сервере — сеансы соседей |
Штатные способы всегда идут раньше аварийных. Снятие процесса — крайняя мера.
Шаг 1. Посмотреть, кто сейчас работает в базе
Прежде чем кого-то отключать, выясните, кто в базе и что делает. Иначе можно оборвать проведение документа или закрытие месяца на середине.
В консоли администрирования кластера
- Запустите оснастку «Администрирование серверов 1С Предприятия» (ярлык ставится вместе с сервером 1С или отдельным компонентом установщика).
- Если сервер ещё не добавлен: правый клик по
Central 1C:Enterprise 8.3 servers→Создать → Центральный сервер 1С:Предприятия 8.3, укажите имя компьютера и порт агента — по умолчанию1540. - Раскройте
Кластеры → ваш кластер → Информационные базы → нужная база → Сеансы.
В списке видно:
- 👤 имя пользователя и компьютер;
- 🧩 приложение: тонкий клиент, толстый клиент, веб-клиент, Конфигуратор, фоновое задание, COM-соединение;
- 🕒 время начала и время последней активности;
- 🔑 занята ли лицензия.
💡 Колонки можно добавить и отсортировать. Сортировка по «Последней активности» сразу показывает сеансы, которые висят с прошлой недели.
Если консоль не открывается
Типичная ситуация: после обновления платформы оснастка выдаёт ошибку создания объекта. Консоль работает через библиотеку radmin.dll той версии платформы, что установлена на сервере. Её нужно перерегистрировать от имени администратора:
regsvr32 "C:\Program Files\1cv8\<версия>\bin\radmin.dll"
Подставьте номер установленной версии из папки C:\Program Files\1cv8\. Разрядность библиотеки должна совпадать с разрядностью консоли.
Внутри самой базы
Без доступа к серверу список сеансов можно посмотреть в клиенте:
- в любой конфигурации: главное меню ☰ →
Все функции → Стандартные → Активные пользователи. Режим «Все функции» включается в параметрах (☰ →Сервис → Параметры). Эта платформенная форма только показывает сеансы, завершить их не даёт; - в БП 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП:
Администрирование → Обслуживание(в старых релизах раздел назывался «Поддержка и обслуживание»), ссылка «Активные пользователи». Здесь сеанс уже можно завершить.
Шаг 2. Завершить сеанс конкретного пользователя
Через консоль кластера
- В узле
Сеансывыделите сеанс. УдерживаяCtrl, можно выделить несколько. - Правый клик →
Удалить. - Подтвердите. Если на кластере задан администратор, консоль спросит его логин и пароль.
У пользователя появится сообщение о том, что сеанс завершён администратором, и клиент закроется. Лицензия освобождается сразу.
Несохранённые изменения в открытых формах пропадут. Если в сеансе идёт длительная операция (закрытие месяца, расчёт зарплаты), транзакция откатится, и операцию придётся запускать заново. Сначала позвоните человеку.
Рядом с «Сеансами» есть узел Соединения. Разрывать соединения вместо удаления сеансов не стоит: сеанс может остаться жить и переподключиться. Работайте с сеансами.
Через форму «Активные пользователи» в БСП
- Откройте
Администрирование → Обслуживание → Активные пользователи. - Выделите строку и нажмите команду завершения сеанса в командной панели.
Чтобы форма могла управлять сеансами клиент-серверной базы, программа может запросить параметры администрирования кластера: логин и пароль администратора кластера (если он задан). Это нормально — завершение идёт через тот же сервер 1С.
💡 Свой собственный сеанс так не завершить. И форма покажет только сеансы текущей базы, а консоль — всех баз кластера.
Шаг 3. Выгнать всех и не пустить обратно: блокировка начала сеансов
Удалить сеансы мало. Бухгалтер увидит, что 1С закрылась, и откроет её снова через минуту. Перед обновлением конфигурации или загрузкой .dt базу нужно заблокировать.
Блокировка в свойствах информационной базы (клиент-сервер)
- В консоли: правый клик по базе →
Свойства. - Включите флаг «Блокировка начала сеансов включена».
- Заполните время начала и окончания блокировки, текст сообщения для пользователей и «Код разрешения» — любое слово, например
obnov2. - Если на время работ нужно остановить и регламентные задания (обмены, загрузку курсов), включите «Блокировка регламентных заданий включена».
- Нажмите
ОК, затем удалите оставшиеся сеансы, как в шаге 2.
Новые подключения будут получать ваше сообщение. Чтобы зайти самому, добавьте к строке запуска параметр /UC с кодом разрешения:
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" /UCobnov2
После работ не забудьте снять флаг блокировки. Забытая блокировка — частая причина звонков утром: «1С пишет, что база заблокирована».
Блокировка средствами конфигурации (файловая и серверная)
В конфигурациях на БСП есть своя форма: Администрирование → Обслуживание → Блокировка работы пользователей. Отметьте «Запретить работу пользователей», укажите время и сообщение, нажмите «Установить блокировку».
Чем она удобнее платформенной:
- 📢 пользователи заранее получают предупреждение в программе, успевают сохраниться;
- ⏳ в назначенное время программа сама завершает их сеансы;
- 🗂 работает и в файловой базе, где консоли нет.
Для скриптов БСП поддерживает параметры запуска: /C"ЗавершитьРаботуПользователей" — установить блокировку и выгнать всех, /C"РазрешитьРаботуПользователей" — снять блокировку. Запуск выполняется под пользователем с полными правами, а вход при установленной блокировке — с тем же /UC.
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /C"ЗавершитьРаботуПользователей" /UCobnov2
Перед установкой блокировки пройдитесь по короткому списку:
Шаг 4. Аварийно: когда сеанс не удаляется
Бывает, что после Удалить сеанс висит в списке, или пользователь «выкинут», а Конфигуратор всё равно сообщает, что база занята. Тогда спускаемся на уровень процессов.
Клиент-серверная база
Сеансы обслуживают рабочие процессы rphost.exe на сервере 1С. Каждый из них держит сеансы сразу многих пользователей.
- В консоли откройте
Кластеры → кластер → Рабочие процессы. Видно, сколько сеансов и памяти на каждом процессе. - Сначала попробуйте ещё раз удалить сеанс и подождите пару минут: если в сеансе выполнялся тяжёлый серверный вызов, он прерывается не мгновенно.
- Если не помогло — правый клик по рабочему процессу и выключите его, либо завершите соответствующий
rphost.exeв диспетчере задач сервера (PID виден в консоли).
Завершение rphost.exe обрывает все сеансы на этом процессе, не только зависший. Делайте это, когда в базе никто не работает, или предупредите всех.
Последний вариант — перезапуск службы «Агент сервера 1С:Предприятия 8.3». Он рвёт сеансы всех баз кластера. Только в нерабочее время и только если остальное не помогло.
Файловая база
Здесь сервера нет, база — это файл 1Cv8.1CD, а «сеанс» — это процесс клиента на компьютере пользователя или терминальном сервере.
- 🖥 Терминальный сервер
: в диспетчере задач на вкладке «Пользователи» найдите нужного пользователя и завершите его процессы
1cv8c.exe(тонкий клиент) или1cv8.exe(толстый клиент, Конфигуратор). - 🌐 База в общей папке: на компьютере с базой откройте
compmgmt.msc → Общие папки → Открытые файлы, найдите1Cv8.1CDи закройте его для нужного пользователя. Так снимается файл, который держит выключенный без выхода компьютер. - 🔒 Если база не освобождается и после этого — проверьте, не открыта ли она фоновым процессом: обменом, загрузкой из банка, резервным копированием.
Принудительное закрытие файла во время записи может повредить базу. Перед этим убедитесь, что есть свежая копия.
Шаг 5. Завершение сеансов из командной строки через rac
Утилита rac из папки bin платформы делает то же, что консоль, но из скрипта. Работает она через сервер администрирования ras, который надо запустить (по умолчанию слушает порт 1545).
Запуск ras как службы Windows:
sc create "1C:Enterprise 8.3 Remote Server" binpath= "\"C:\Program Files\1cv8\<версия>\bin\ras.exe\" cluster --service --port=1545 localhost:1540" displayname= "1C:Enterprise 8.3 Remote Server" start= auto
sc start "1C:Enterprise 8.3 Remote Server"
Основные команды:
rac cluster list localhost:1545
rac session list --cluster=<uuid кластера> localhost:1545
rac session list --cluster=<uuid кластера> --licenses localhost:1545
rac session terminate --cluster=<uuid кластера> --session=<uuid сеанса> localhost:1545
Если на кластере есть администратор, добавьте --cluster-user= и --cluster-pwd=. Чтобы увидеть сеансы только одной базы, узнайте её идентификатор командой rac infobase summary list --cluster=<uuid кластера> и передайте его в session list параметром --infobase=. Остальные параметры смотрите в справке rac help session.
На Linux-сервере 1С это основной способ: графической консоли там нет, а rac работает так же.
Шаг 6. Автоматически отключать забытые сеансы
Классика: сотрудник ушёл домой, не закрыв 1С. Сеанс держит лицензию, а утром новому сотруднику пишет, что лицензий не хватает. Решение — скрипт, который раз в час завершает сеансы без активности дольше заданного срока.
Пример на PowerShell. Он пропускает фоновые задания, консоль и Конфигуратор, а пользовательские сеансы без активности дольше 3 часов завершает:
$rac = "C:\Program Files\1cv8\<версия>\bin\rac.exe"
$ras = "localhost:1545"
$auth = @("--cluster-user=admin", "--cluster-pwd=пароль") # пустой массив, если администратора нет
$limit = [TimeSpan]::FromHours(3)
$skip = @("BackgroundJob", "SrvrConsole", "Designer", "COMConnection")
$cluster = ((& $rac cluster list $ras) | Where-Object { $_ -match '^cluster\s*:' } |
Select-Object -First 1) -replace '^cluster\s*:\s*', ''
$text = (& $rac session list "--cluster=$cluster" @auth $ras) -join "`n"
$blocks = $text -split "`n\s*`n"
foreach ($block in $blocks) {
$s = @{}
foreach ($line in $block -split "`n") {
if ($line -match '^\s*([\w-]+)\s*:\s*(.*)$') { $s[$Matches[1]] = $Matches[2].Trim().Trim('"') }
}
if (-not $s['session'] -or $skip -contains $s['app-id']) { continue }
$idle = (Get-Date) - [datetime]::Parse($s['last-active-at'])
if ($idle -gt $limit) {
& $rac session terminate "--cluster=$cluster" "--session=$($s['session'])" @auth $ras
"{0:u} завершён сеанс {1} ({2}), простой {3:N0} мин" -f (Get-Date), $s['user-name'], $s['host'], $idle.TotalMinutes |
Out-File -Append "C:\Scripts\kill_idle.log"
}
}
Поставьте его в Планировщик заданий Windows с запуском раз в час под учётной записью, у которой есть доступ к rac.exe.
💡 Прежде чем включать завершение, прогоните скрипт с закомментированной строкой session terminate и посмотрите в логе, кого бы он отключил. Порог в 3 часа подберите под свой режим: если бухгалтерия по 4 часа сидит в одном отчёте, порог надо поднять.
Есть и встроенные средства. В свойствах информационной базы в консоли кластера свежих версий платформы есть параметры засыпания пассивного сеанса и завершения спящего сеанса: заснувший сеанс отдаёт лицензию, а по второму таймеру удаляется полностью. Значения задаются в секундах.
Автоматическое завершение тоже обрывает несохранённую работу. Сообщите сотрудникам о правиле заранее.
Частые вопросы
Освобождается ли лицензия сразу после удаления сеанса?
rac, лицензия возвращается в общий пул, и следующий пользователь может войти.Можно ли завершить сеанс, если я не администратор кластера?
rac сеанс не удалят. Пользователь 1С с полными правами может завершать сеансы через форму «Активные пользователи» только при наличии этих же параметров кластера.