Почему консоль администрирования сервера 1С выдает ошибку и показывает не все сеансы

Системный администратор 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

В процессе администрирования серверов 1С:Предприятие 8.2 многие системные администраторы сталкиваются с неприятной ситуацией: при попытке просмотреть список активных пользователей в ветке «Сеансы» консоль управления (MMC) внезапно сообщает об ошибке оснастки. После закрытия окна с ошибкой работа продолжается, но список пользователей оказывается неполным — например, вместо 70 реальных пользователей отображается всего 10–15. Разберем детально, почему это происходит и как восстановить нормальную работу инструментов управления сервером.

Анализ проблемы: почему «Сеансы» работают нестабильно

Для начала проанализируем разницу между разделами «Сеансы» и «Соединения» в консоли администрирования. Как показывает практика и обсуждения специалистов, раздел «Соединения» обычно работает стабильнее и показывает корректное количество записей даже тогда, когда «Сеансы» дают сбой. Это происходит потому, что при открытии списка сеансов консоль mmc.exe выполняет гораздо более сложные запросы к рабочим процессам сервера 1С.

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

Решение 1: Обновление платформы до стабильного релиза

Выясним причину технического характера. В релизе 8.2.19.80, который часто упоминается в подобных обращениях, существовала известная проблема с утечкой памяти в процессе консоли при обработке больших списков данных. Когда количество сеансов приближается к определенному порогу (обычно более 50), структура данных в памяти mmc.exe повреждается.

Рассмотрим шаги по обновлению:

  1. Проанализируем текущую версию сервера. Если используется ветка 8.2, наиболее стабильным и рекомендуемым является релиз 8.2.19.130.
  2. Выполним обновление технологической платформы на сервере и на клиентских местах администраторов.
  3. После установки нового релиза обязательно проведем повторную регистрацию библиотеки radmin.dll, так как старая версия в реестре может продолжать вызывать конфликты.

Решение 2: Очистка кэша консоли управления MMC

Довольно часто ошибка «оснастка обнаружила ошибку» сохраняется даже после обновления платформы. Это связано с тем, что Windows сохраняет настройки и состояние окон консоли в профиле пользователя. Если эти файлы повреждены, визуальное отображение дерева объектов 1С будет некорректным.

Разберем, как очистить эти настройки:

  1. Закроем все запущенные консоли администрирования 1С.
  2. Перейдем в каталог настроек пользователя по пути: %AppData%\Microsoft\MMC\.
  3. Найдем файл с именем 1cv8adm (или похожим, в зависимости от версии).
  4. Удалим этот файл. Не беспокойтесь, при следующем запуске консоли он создастся автоматически с параметрами по умолчанию.
  5. Снова запустим консоль и добавим дерево серверов заново.

Решение 3: Правильная регистрация утилиты администрирования на x64 системах

Проанализируем ситуацию, когда сервер 1С работает на 64-битной версии Windows. Консоль администрирования для версии 8.2 является 32-битным приложением. Если регистрация основной библиотеки администрирования radmin.dll была выполнена стандартной командой без учета разрядности, это может привести к нестабильной передаче данных между 64-битным процессом ragent и 32-битной оснасткой.

Посмотрим на правильный способ регистрации через SysWOW64:

Откройте командную строку от имени администратора и выполните следующую последовательность действий:


cd C:\Windows\SysWOW64
regsvr32.exe "C:\Program Files (x86)\1cv82\8.2.19.130\bin\radmin.dll"

Важно: Указывайте путь именно к той папке с релизом, который у вас установлен как рабочий. Использование системного regsvr32 из папки System32 на 64-битных ОС для этой библиотеки часто становится причиной «невидимых» пользователей в списке.

Решение 4: Проверка доступности менеджера лицензий

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

Если в вашей инфраструктуре используется много программных лицензий, серверу требуется время на проверку каждой из них при формировании списка. Попробуйте временно отключить антивирусное ПО на сервере (особенно компоненты мониторинга сетевого трафика и RPC-фильтры) и проверьте, восстановится ли полный список пользователей. Если список стал полным — необходимо добавить процессы ragent.exe, rmngr.exe и rphost.exe в исключения сканирования.

Альтернативный метод: Программное получение списка сеансов

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

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


Коннектор = Новый COMОбъект("V82.COMConnector");
СоединениеСАгентом = Коннектор.ConnectAgent("ИмяВашегоСервера");
Кластеры = СоединениеСАгентом.GetClusters();

Для Каждого Кластер Из Кластеры Цикл
    СоединениеСАгентом.Authenticate(Кластер, "Администратор", "Пароль");
    РабочиеПроцессы = СоединениеСАгентом.GetWorkingProcesses(Кластер);
    
    Для Каждого Процесс Из РабочиеПроцессы Цикл
        // Получаем список всех активных сеансов напрямую
        Сеансы = СоединениеСАгентом.GetSessions(Кластер);
        Сообщить("Всего сеансов в кластере: " + Сеансы.Количество());
        
        Для Каждого Сеанс Из Сеансы Цикл
            Сообщить("Пользователь: " + Сеанс.userName + " вошел в: " + Сеанс.AppID);
        КонецЦикла;
        Прервать; // Достаточно одного прохода по кластеру
    КонецЦикла;
КонецЦикла;

Использование объекта V82.COMConnector позволяет получить данные в обход глючной оснастки. Если этот код возвращает правильное количество пользователей, значит, проблема стопроцентно кроется в самой консоли mmc.exe или регистрации radmin.dll, а не в ядре сервера 1С.

Подведение итогов

Подводя итог, можно сказать: если вы видите не всех пользователей в консоли 1С 8.2, первым делом проверьте вкладку «Соединения». Если там всё в порядке — займитесь «лечением» консоли: обновите платформу до 8.2.19.130, перерегистрируйте radmin.dll через SysWOW64 и обязательно очистите кэш в %AppData%. Эти действия в 95% случаев решают проблему странного поведения административной панели.

← На главную