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

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

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

Почему возникает ошибка «Не обнаружен ключ защиты программы»?

Для успешного запуска «1С:Предприятия» в клиент-серверном режиме (когда базы данных работают под управлением СУБД, например, MS SQL Server или PostgreSQL) требуются два абсолютно независимых типа лицензий. Это ключевой момент, непонимание которого часто приводит администраторов в тупик:

  1. Клиентская лицензия: необходима для каждого сеанса пользователя. Она определяет, сколько компьютеров или пользователей могут одновременно работать с информационными базами. Клиентские лицензии могут быть программными (файлы с расширением .lic) или аппаратными (сетевые USB-ключи HASP серии ORGL8 красного цвета).
  2. Серверная лицензия: необходима для работы самого сервера приложений «1С:Предприятие» (службы ragent). Без нее сервер 1С просто не позволит запустить ни одну базу в клиент-серверном режиме, даже если у пользователей установлены все необходимые клиентские ключи. Серверная лицензия также бывает программной (файл .lic) или аппаратной (локальный USB-ключ HASP серии ENSR8 или EN8SA).

Рассмотрим ситуацию: предприятие приобретает аппаратный USB-ключ на 20 пользователей взамен сданных по апгрейду программных клиентских лицензий. Администратор устанавливает HASP License Manager, подключает USB-ключ, и локальные компьютеры успешно видят свободные клиентские лицензии. Однако при попытке войти в базу на сервере 1С возникает ошибка:


На сервере 1С:Предприятия не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!
по причине:
Файл программной лицензии не найден
ENSR8 Локальный, не установлен
EN8SA Локальный, не установлен

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

Анализ маркировки серверных ключей защиты

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

Важное техническое ограничение: в отличие от клиентских многопользовательских ключей, серверные аппаратные ключи являются строго локальными. Они не могут транслироваться по сети через HASP License Manager. Сервер 1С должен видеть этот ключ непосредственно на том физическом компьютере или в той виртуальной машине (путем проброса USB-порта), где запущена служба ragent.

Разбор ошибок привязки программной лицензии

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


Ошибка программного лицензирования. Ошибка привязки программной лицензии к компьютеру: file://C:/ProgramData/1C/licenses/20131014120132.lic
После получения лицензии удалены:
OS Ser_0: 55041-507-4400454-84166
BIOS_0: American Megatrends Inc., 20100224000000.000000+000, 0901
В текущей конфигурации компьютера имеются:
OS Ser_0: 00486-001-0001076-84201
Phis Mem_0: 19318005760
BIOS_0: American Megatrends Inc., 20101222000000.000000+000, 1202

Проанализируем эти данные. Из лога видно, что файл лицензии стал недействительным по следующим причинам:

  1. Изменился серийный номер операционной системы (OS Ser_0) с 55041-... на 00486-.... Это свидетельствует о переустановке Windows, изменении ее редакции или обновлении операционной системы.
  2. Была обновлена прошивка материнской платы (BIOS_0) — версия изменилась с 0901 на более новую 1202.
  3. Изменился состав сетевых адаптеров и их MAC-адреса, что также является критическим фактором для системы защиты 1С.

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

Анализ настроек файла nethasp.ini

Часто системные администраторы пытаются решить проблему доступности ключей путем редактирования конфигурационного файла nethasp.ini. На этом этапе легко совершить критические ошибки. Проанализируем пример некорректной настройки:


NH_TCPIP = Enabled
NH_SERVER_ADDR = 168.192.0.3
NH_SERVER_NAME = Server

В данной конфигурации допущены сразу две важные ошибки:

  1. Опечатка в IP-адресе: вместо стандартного частного диапазона локальной сети 192.168.0.3 прописан адрес 168.192.0.3. Это внешняя публичная адресация. В результате служба защиты пытается искать HASP-ключ в глобальной сети Интернет, что делает авторизацию локальных пользователей невозможной.
  2. Нецелевое использование файла: настройки файла nethasp.ini влияют исключительно на поиск сетевых клиентских лицензий (серии ORGL8). Поиск серверных ключей (аппаратных ENSR8/EN8SA или программных файлов лицензий .lic) выполняется платформой локально на самом сервере приложений 1С. Редактирование сетевых параметров HASP никак не поможет серверу 1С обнаружить собственную лицензию.

Для правильной настройки поиска клиентских лицензий в локальной сети конфигурационный файл nethasp.ini (обычно находящийся в каталоге C:\Program Files\1cv8\conf\ или в папке установки драйвера HASP) должен выглядеть следующим образом:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.3 ; Указываем точный IP-адрес компьютера с USB-ключом
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled ; Отключаем широковещательный опрос для ускорения поиска

Пошаговый алгоритм решения проблемы

Выяснив причины сбоя, перейдем к практическим действиям по восстановлению работоспособности клиент-серверного режима 1С.

Шаг 1: Поиск регистрационных данных серверной лицензии

Для восстановления серверной лицензии вам потребуется найти конверт или бланк из коробки продукта «1С:Предприятие (версия для сервера)». На этом бланке указаны:

Шаг 2: Запуск процедуры восстановления лицензии

Если параметры сервера изменились или файлы лицензий были стерты, выполним повторное получение лицензии:

  1. Запустите платформу «1С:Предприятие» в режиме «Конфигуратор» для любой локальной базы или выберите запуск настройки лицензирования из меню Пуск.
  2. В окне с сообщением об отсутствии лицензии нажмите кнопку «Получить лицензию» (или перейдите в меню «Сервис» — «Получение лицензии»).
  3. Введите регистрационный номер программного продукта (серверной части) и активный на текущий момент пин-код (тот, которым лицензия активировалась в прошлый раз).
  4. В следующем окне выберите вариант «Восстановление».
  5. Снимите галочку «Являюсь единственным владельцем компьютера» (если запрашивается) и введите новый (резервный) пин-код из списка на бланке.
  6. Внимание: крайне важно заполнить личные данные владельца (название организации, адрес, ФИО ответственного) точно так же, как они были заполнены при самой первой активации этой лицензии. Любое несовпадение (например, написание «ООО Ромашка» вместо «Общество с ограниченной ответственностью Ромашка») приведет к отказу Центра лицензирования в выдаче лицензии.
  7. Нажмите «Далее» для завершения процесса активации через Интернет. Новый файл лицензии будет автоматически сохранен на сервере.

Шаг 3: Запрос дополнительных пин-кодов в Центре лицензирования

Если все резервные пин-коды из коробки были израсходованы ранее, необходимо оперативно получить новый рабочий пин-код от компании 1С:

  1. Подготовьте официальное письмо от организации-владельца лицензии.
  2. Отправьте запрос на электронный адрес Центра лицензирования lic@1c.ru.
  3. В теле письма обязательно укажите:
    • Точное наименование вашей организации (ИНН/КПП).
    • Регистрационный номер программного продукта сервера 1С.
    • Последний использованный (сгоревший) пин-код.
    • Причину запроса (например: «В связи с изменением конфигурации оборудования сервера просим предоставить дополнительный пин-код для привязки лицензии»).

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

Шаг 4: Проверка расположения файлов лицензий

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

Дополнительное решение: Устранение сбоев подсистемы WMI

Иногда возникает ситуация, когда аппаратная часть сервера и операционная система не менялись, файлы лицензий на месте, но сервер 1С внезапно перестает их видеть и выдает ошибку привязки. Причиной этого часто служит скрытый сбой службы WMI (Windows Management Instrumentation) в ОС Windows.

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

  1. Откройте командную строку от имени Администратора.
  2. Остановите службу инструментария управления Windows, выполнив команду: net stop winmgmt
  3. Перейдите к каталогу репозитория WMI: cd C:\Windows\System32\wbem
  4. Переименуйте поврежденную папку репозитория (чтобы операционная система создала новую чистую базу): rename Repository Repository.old
  5. Запустите службу WMI заново: net start winmgmt
  6. Перезагрузите сервер целиком. После перезапуска операционная система перестроит базу данных WMI, платформа 1С успешно прочитает параметры материнской платы и процессора, а программная лицензия сервера снова станет активной.

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

← На главную