Проблема с обнаружением лицензий 1С на серверных операционных системах — одна из самых распространенных задач системного администратора. Ситуация часто осложняется тем, что доступ к серверу осуществляется удаленно через RDP (терминальную сессию), а физически проверить состояние ключа и его тип невозможно. Проанализируем типичный сценарий: установлен Windows Server 2016, платформа 1С:Предприятие 8.3, имеется аппаратный USB-ключ, но программа упорно выдает ошибку "Лицензия не обнаружена".
В первую очередь проверим, как устройство отображается в операционной системе. Откроем диспетчер устройств. Если драйверы установлены корректно, в разделе Контроллеры USB (или SafeNet USB Hardware) должны присутствовать три записи: Sentinel HASP Key, Sentinel HL Key и Sentinel USB Key. Если вы видите только одно устройство или оно отмечено восклицательным знаком, значит, драйвер встал некорректно.
Рассмотрим важный нюанс: установку драйверов HASP крайне не рекомендуется проводить в обычной RDP-сессии. Это связано с тем, что в Windows Server сессионная изоляция может блокировать доступ инсталлятора к низкоуровневым функциям USB-портов. Для корректной установки проанализируем использование консольного режима подключения. Используйте команду:
mstsc /v:IP_адрес_сервера /admin
Это позволит вам подключиться к так называемой "нулевой" или консольной сессии, которая максимально приближена к физическому присутствию за монитором сервера. После этого выполним чистую переустановку драйвера. Для этого скачаем утилиту haspdinst.exe (Sentinel LDK Command Line Runtime Installer).
Пошаговый алгоритм полной очистки и установки:
haspdinst.exe -purge.haspdinst.exe -i.Современные драйверы Sentinel LDK (начиная с версии 7.x и выше, которые актуальны для Windows Server 2016) предоставляют веб-интерфейс для управления лицензиями. Проанализируем состояние ключа, открыв в браузере на сервере адрес: http://localhost:1947.
В открывшемся Admin Control Center (ACC) перейдем в раздел Sentinel Keys. Здесь мы должны увидеть наш ключ. Если список пуст, значит, проблема либо в физическом порту, либо в самом ключе, либо в драйвере USB-шины. Если же ключ виден, обратим внимание на его характеристики:
50726.Важный момент: если в ACC ключ виден, но 1С его не подхватывает, проверьте настройки в разделе Configuration -> Access to Remote License Managers. Там должны быть разрешены опции Allow Access to Remote Licenses.
Выясним причину, по которой 1С может не видеть ключ даже при идеальной установке драйверов. В экосистеме 1С аппаратные ключи делятся на типы по цвету и маркировке:
Рассмотрим главную проблему локальных (фиолетовых) ключей: драйвер HASP блокирует работу локального ключа в RDP-сессии. Если вы подключаетесь к серверу через удаленный рабочий стол, драйвер видит терминальную сессию и скрывает ключ от приложения в целях безопасности. Именно поэтому 1С пишет "Лицензия не найдена", хотя в диспетчере устройств ключ есть.
Если у вас именно фиолетовый ключ, у вас есть два пути:
Если ваш ключ — сетевой (красный), для его работы в сети предприятия (или внутри самого сервера для терминальных пользователей) необходим HASP License Manager (LM). Рассмотрим особенности его установки на Windows Server 2016.
При установке LM предложит два варианта: Service (Служба) или Application (Приложение). Для серверной ОС всегда выбираем Service. Режим приложения работает только под учетной записью текущего пользователя и закроется сразу, как только вы выйдете из системы. Если вы уже установили его как приложение и он не видит ключ, удалите его и переустановите как службу.
Также проверим файл конфигурации менеджера лицензий nhsrv.ini. Убедимся, что протоколы обмена (IPX, NetBIOS, TCP/IP) настроены корректно. В современных сетях лучше оставить только TCP/IP:
[NHS_SERVER]
NHS_USERLIST = 250
NHS_SERVERNAMES = ServerName
NHS_IP_LIMIT = 10.0.0.0/24
[NHS_IP]
NHS_USE_UDP = Enabled
NHS_USE_TCP = Enabled
NHS_IP_portnum = 475
Проанализируем влияние системных защитных механизмов. В Windows Server 2016 функция DEP (Data Execution Prevention) может блокировать работу драйвера или менеджера лицензий. Попробуем добавить исполняемые файлы HASP в исключения:
hasplms.exe (находится в C:\Windows\System32) и nhsrvice.exe.Не забудьте про Брандмауэр Windows. Менеджер лицензий использует порт 475 (UDP и TCP). Создайте правила для входящих и исходящих соединений для этого порта, иначе клиентские машины (или даже сама 1С на этом же сервере) не смогут достучаться до ключа.
На серверах часто включены агрессивные настройки энергосбережения. Посмотрим, как это влияет на HASP: если система решит "усыпить" USB-порт для экономии энергии, лицензия в 1С пропадет в самый неподходящий момент. Чтобы этого избежать, в Диспетчере устройств найдите ваш Корневой USB-концентратор, перейдите в Свойства -> Управление электропитанием и снимите флажок Разрешить отключение этого устройства для экономии энергии.
Проделав все эти шаги — от корректной идентификации цвета ключа до настройки порта 475 и DEP — вы обеспечите стабильную работу системы защиты 1С на Windows Server 2016.