Как узнать, почему не хватает программных лицензий 1С при работе в терминале?

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

Работа в терминальном режиме (RDP) на сервере под управлением операционной системы Windows Server — один из самых популярных сценариев использования файловых баз данных «1С:Предприятие 8». Однако администраторы часто сталкиваются с неприятной ситуацией: приобретена и активирована программная лицензия на 5 пользователей, реально в базе работают всего двое, а третий подключиться уже не может. При попытке входа система выдает сообщение об отсутствии ключа защиты.

В этой статье мы подробно разберем, как локализовать и устранить эту проблему, проанализируем внутреннее устройство программного лицензирования 1С и выясним, где именно искать «потерянные» лицензии.

Шаг 1. Анализируем текст ошибки программного лицензирования

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


Ошибка программного лицензирования. Превышено максимальное количество пользователей, разрешенное файлом программной лицензии: file://C:/ProgramData/1C/licenses/201909.....lic
локальный ключ недоступен: Status=-10, ORGL8 Локальный, не установлен

Этот лог несет в себе важнейшую техническую информацию, которую мы должны правильно прочитать:

  1. Платформа успешно нашла файл программной лицензии по пути C:/ProgramData/1C/licenses/201909.....lic. Это значит, что сам файл физически существует на сервере и доступен для чтения текущему пользователю.
  2. Платформа прямо указывает причину отказа: «Превышено максимальное количество пользователей, разрешенное файлом программной лицензии». Это ключевая зацепка. Система сообщает нам, что лимит подключений, заложенный внутри этого конкретного .lic-файла, исчерпан.

Почему же лимит исчерпан, если в базе работают всего два человека, а лицензия покупалась на пять мест? Рассмотрим основные причины.

Шаг 2. Проверяем тип активированной лицензии (однопользовательская или многопользовательская)

Комплект программных лицензий 1С на 5 пользователей поставляется с двумя принципиально разными наборами пин-кодов:

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

Когда пытается зайти третий пользователь, система видит, что оба однопользовательских файла уже заняты текущими сессиями, и выдает ошибку превышения лимита. Таким образом, три пользователя одновременно работать уже не могут, хотя в коробке куплено 5 лицензий.

Выясним тип лицензии без повторной активации. Для этого мы можем открыть файл лицензии .lic с помощью обычного «Блокнота».

  1. Перейдем в каталог C:\ProgramData\1C\licenses на сервере. Обратите внимание, что папка ProgramData является скрытой в Windows, поэтому в проводнике нужно включить отображение скрытых элементов или ввести путь напрямую в адресную строку.
  2. Найдем файл с расширением .lic, имя которого фигурирует в ошибке.
  3. Откроем его в Блокноте. Большая часть содержимого файла будет зашифрована (вы увидите набор случайных символов), однако в самом начале или в конце файла будет присутствовать понятный текстовый блок.
  4. Проанализируем этот блок. Найдем строку, описывающую параметры лицензии. Если там написано Однопользовательская — значит, произошла ошибка при активации. Если указано Многопользовательская на 5 пользователей — файл активирован верно, и причину нужно искать дальше.

Если лицензия действительно оказалась однопользовательской, нам потребуется запустить процедуру восстановления лицензии в 1С и активировать её заново, используя пин-код для многопользовательской лицензии.

Шаг 3. Ищем «призрачные» и зависшие сессии пользователей в RDP

В терминальной среде пользователи очень часто закрывают программу некорректно. Вместо того чтобы нажать «Файл — Выход» или закрыть крестик самой программы 1С, они просто закрывают окно подключения к удаленному рабочему столу (RDP), нажимая на крестик панели подключения вверху экрана.

При таком действии сеанс Windows на сервере не завершается, а переходит в состояние «Отключен» (Disconnected). Все запущенные в этом сеансе программы, включая клиентские процессы 1С (1cv8.exe или 1cv8c.exe), продолжают выполняться в памяти сервера в фоновом режиме.

Каждый такой работающий процесс продолжает прочно удерживать за собой программную лицензию 1С. Для диагностики выполним следующие действия:

  1. Зайдем на сервер под учетной записью с правами администратора.
  2. Откроем стандартный Диспетчер задач Windows (Task Manager).
  3. Перейдем на вкладку «Пользователи» (Users). Здесь мы увидим список всех активных и отключенных сессий.
  4. Внимательно изучим состояние (Status) сессий. Если мы видим пользователей в состоянии «Отключен» (Disconnected), развернем список их процессов.
  5. Если там запущены процессы 1cv8.exe (или 1cv8c.exe для тонкого клиента), значит, именно они неявно расходуют свободные лицензии. Мы можем принудительно завершить эти процессы или полностью выйти из учетных записей отключенных пользователей.

Чтобы избежать подобных проблем в будущем, рекомендуется настроить групповые политики Windows Server, которые будут автоматически завершать отключенные RDP-сессии через определенное время простоя (например, через 15-30 минут после отключения пользователя).

Шаг 4. Настраиваем права доступа к папке с лицензиями

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

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

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

Для исправления прав выполним следующие шаги:

  1. Перейдем к папке C:\ProgramData\1C\licenses, нажмите на нее правой кнопкой мыши и выберем «Свойства».
  2. Перейдем на вкладку «Безопасность» (Security).
  3. Проверим наличие группы «Пользователи» (Users) или «Прошедшие проверку» (Authenticated Users) в списке.
  4. Убедимся, что для этих групп установлены разрешения на «Чтение», «Список содержимого папки» и «Чтение и выполнение».
  5. Если разрешения отсутствуют, нажмем кнопку «Изменить» и добавим группе «Пользователи» права на чтение этой папки и всех вложенных файлов.

Аналогичную проверку прав доступа рекомендуется провести для каталогов установки самой платформы 1С:Предприятие (C:\Program Files\1cv8).

Шаг 5. Проверяем влияние фоновых и регламентных заданий

В файловой базе данных регламентные и фоновые задания выполняются непосредственно в сеансах активных пользователей. Однако существуют сценарии, при которых фоновые задания могут забирать отдельные лицензии:

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

Современные инструменты мониторинга программных лицензий

Если вы используете современные версии платформы (начиная с версии 8.3.18 и новее, а также ветку 8.5), фирма 1С значительно упростила жизнь администраторам. В платформу был встроен специализированный инструмент — «1С:Предприятие – менеджер лицензий».

С помощью интерактивной обработки «Управление лицензиями» администратор может в реальном времени получить детальный отчет:

Если у вас установлена старая версия платформы (например, 8.3.16), мы настоятельно рекомендуем запланировать обновление платформы до актуального релиза. Это не только решит проблемы безопасности и стабильности работы, но и даст в руки администратору мощные встроенные средства диагностики лицензирования, избавляя от необходимости вручную анализировать процессы в диспетчере задач Windows.

← На главную