К статье
Практический материал

Администрирование · 11 мин

1С: как подключиться к сеансу пользователя

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

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

В клиент-серверном варианте работы центральным инструментом служит консоль администрирования серверов 1С:Предприятия. Она показывает список сеансов каждой информационной базы: пользователя, компьютер, время начала, режим работы (толстый, тонкий, веб-клиент), активность и объём вызванных данных. Отсюда же сеанс можно принудительно завершить, если пользователь «завис» или блокирует работу других.

В файловом варианте консоли кластера нет, и возможности ограничены: список активных пользователей доступен из режима «Предприятие» через «Администрирование — Активные пользователи», а для просмотра экрана коллеги придётся использовать средства операционной системы или сторонние инструменты удалённого доступа.

Определяем, что именно нужно сделать

Прежде чем что-то настраивать, сформулируйте задачу. Если нужно узнать, кто сейчас работает в базе, достаточно списка сеансов или активных пользователей. Если требуется завершить «зависший» сеанс — нужна консоль кластера и права администратора кластера. Если цель — посмотреть, что происходит на экране у пользователя, и помочь ему, то штатной функции «подключиться к сеансу 1С» не существует: платформа не умеет транслировать интерфейс другого пользователя.

Отдельный сценарий — программная работа с сеансами: например, получить список активных сеансов в регламентном задании или заблокировать вход в базу на время обновления. Для этого используются методы встроенного языка и COM-соединение с агентом сервера.

Маршрут решения

Как выбрать действие

Нужно узнать, кто работает в базе прямо сейчасОткройте консоль кластера (Сеансы) или «Администрирование — Активные пользователи» в режиме Предприятие
Нужно завершить зависший сеанс пользователяВ консоли кластера выделите сеанс и выполните команду «Удалить»
Нужно видеть экран пользователя и помочь емуИспользуйте RDP, теневое подключение (shadow) к сеансу Windows или стороннее средство удалённого доступа
Нужно управлять сеансами из кодаИспользуйте COM-соединитель V83.COMConnector и интерфейс агента сервера

Просмотр и управление сеансами через консоль кластера

Консоль администрирования серверов 1С:Предприятия устанавливается вместе с сервером и доступна через меню «Пуск» в папке 1С. После запуска добавьте в консоль центральный сервер, раскройте ветку «Кластеры — Локальный кластер — Информационные базы», выберите нужную базу и перейдите на вкладку «Сеансы». Появится таблица со всеми активными подключениями.

По каждому сеансу видны: имя пользователя ИБ, компьютер, с которого выполнено подключение, номер сеанса, время начала, последняя активность, режим клиента и объём прочитанных и записанных данных. Колонка «Спящий сеанс» помогает отличить реально работающих пользователей от «забытых» подключений — например, когда сотрудник просто свернул программу и ушёл домой.

Чтобы принудительно завершить сеанс, выделите строку и нажмите «Удалить» в контекстном меню. Пользователь получит сообщение о разрыве соединения, а его несохранённые данные будут потеряны. Поэтому перед удалением сеанса стоит убедиться, что это действительно «зависший» клиент, а не человек, который в данный момент проводит большой документ.

Как завершить сеанс через консоль кластера
  1. 1
    Откройте консоль администрирования серверов 1С и подключитесь к центральному серверу
  2. 2
    Раскройте ветку кластера и выберите нужную информационную базу
  3. 3
    Перейдите на вкладку «Сеансы» и найдите пользователя по имени или компьютеру
  4. 4
    Проверьте время последней активности — убедитесь, что сеанс действительно неактивен
  5. 5
    Выделите сеанс и выполните команду «Удалить» из контекстного меню
  6. 6
    Сообщите пользователю о разрыве и попросите войти заново

Какие права нужны для работы с сеансами

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

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

Как увидеть экран пользователя: теневое подключение

Штатной функции «посмотреть сеанс пользователя 1С» с трансляцией экрана в платформе нет. Если база работает на терминальном сервере Windows Server, администратор может подключиться к сеансу пользователя в теневом режиме (shadow). Для этого в диспетчере задач на вкладке «Пользователи» или через команду quser находят нужный сеанс, а затем выполняют подключение с разрешения пользователя.

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

cmd
quser /server:TERM-SRV
mstsc /shadow:<ID сеанса> /v:TERM-SRV /control /prompt

Если терминального сервера нет и пользователи работают на локальных компьютерах, остаются сторонние средства удалённого доступа или встроенная «Быстрая помощь» Windows. Выбор инструмента должен согласовываться с политикой информационной безопасности организации — особенно если в базе обрабатываются персональные данные.

Программная работа с сеансами

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

Внутри встроенного языка доступны ограниченные возможности: функция ПолучитьСеансыИнформационнойБазы() возвращает массив сеансов текущей базы с их параметрами, а УстановитьБлокировкуСеансов() позволяет запретить новые подключения на время регламентных работ. Завершить чужой сеанс из встроенного языка штатно нельзя — для этого нужен COM-интерфейс агента или внешние компоненты.

Типичные ошибки и как их избежать

Самая частая ошибка — удаление сеанса без проверки активности. Показатель «время последнего вызова» в консоли обновляется при обращениях клиента к серверу; если пользователь просто читает длинный отчёт на экране, активности может не быть несколько минут, хотя человек работает. Ориентируйтесь на совокупность признаков, а при сомнениях сначала свяжитесь с пользователем.

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

Типичные ошибки
01
Удаление сеанса без проверки активности — пользователь теряет несохранённые данные
02
Игнорирование спящих сеансов — они расходуют клиентские лицензии и создают ложную картину загрузки
03
Работа под администратором кластера без необходимости — любое случайное действие в консоли влияет на всю базу
04
Теневое подключение без уведомления пользователя — нарушение регламентов ИБ и доверия сотрудников
05
Попытка завершить чужой сеанс из встроенного языка — штатно это невозможно, нужен COM-интерфейс агента

Проверка результата и контрольные точки

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

Контрольные точки

Как проверить результат

Список сеансов после удаления
Норма

Завершённый сеанс исчез из таблицы, пользователь вошёл заново

Тревожный признак

Сеанс остался или появился снова с тем же компьютером — клиент переподключается автоматически

Количество занятых лицензий
Норма

Число лицензий соответствует реальному числу работающих пользователей

Тревожный признак

Лицензий занято заметно больше, чем активных пользователей — копятся спящие сеансы

Журнал регистрации
Норма

Видны события завершения сеанса и нового входа пользователя

Тревожный признак

Сеанс завершался аварийно, есть ошибки рабочего процесса

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

Итог

Что важно запомнить

Управление сеансами ведётся через консоль кластера: там же завершаются зависшие подключения. Просмотр экрана пользователя 1С штатно невозможен — используйте теневое RDP-подключение или средства удалённого доступа. Перед удалением сеанса проверяйте активность, а спящие сеансы ограничивайте настройками тайм-аута базы.

Частые вопросы

Можно ли подключиться к сеансу пользователя 1С и видеть его экран?

Штатными средствами платформы — нет. 1С показывает только параметры сеанса (пользователь, компьютер, активность), но не транслирует интерфейс. Для просмотра экрана используют теневое подключение к терминальному сеансу Windows или программы удалённого доступа, согласованные с политикой безопасности.

Почему в консоли кластера пустой список сеансов, хотя пользователи работают?

Скорее всего, вы смотрите не ту информационную базу или не тот кластер. Также проверьте, что консоль подключена к правильному центральному серверу и что у вашей учётной записи есть права администратора кластера или базы.

Что произойдёт с данными пользователя при удалении его сеанса?

Соединение разрывается принудительно, все несохранённые данные (незаписанные документы, открытые формы) теряются. Уже записанные в базу объекты не пострадают, но транзакция, выполнявшаяся в момент разрыва, будет откачена.

Как массово завершить все сеансы перед обновлением базы?

Сначала установите блокировку сеансов, чтобы никто не вошёл заново, затем удалите оставшиеся сеансы через консоль кластера или скриптом через COM-соединение с агентом сервера. Заранее предупредите пользователей о времени работ.

Спящий сеанс и активный — в чём разница?

Спящий сеанс — это подключение, по которому клиент давно не обращался к серверу. Оно продолжает занимать лицензию, но не создаёт нагрузки. Такие сеансы завершаются автоматически по истечении тайм-аута, заданного в свойствах базы.

Можно ли посмотреть сеансы в файловой базе без сервера?

Да, но ограниченно: в режиме «Предприятие» откройте «Администрирование — Активные пользователи». Там виден список работающих в базе, однако завершить чужой сеанс и управлять им, как в консоли кластера, нельзя.