Рано или поздно любой системный администратор, обслуживающий инфраструктуру «1С:Предприятие», сталкивается с критической ошибкой запуска программы: «Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!». Особенно часто эта проблема проявляется в терминальном режиме (RDP), когда пользователи работают на сервере удаленных рабочих столов. Ситуация может усложняться после аварийных перезагрузок, сбоев электропитания или некорректных обновлений.
В этой статье мы подробно разберем, почему возникает эта ошибка, как устроена защита «1С» на базе HASP, и по шагам настроим сетевое распределение лицензий с помощью конфигурационных файлов nethasp.ini и nhsrv.ini.
Проанализируем базовое ограничение платформы «1С:Предприятие», о котором часто забывают. Локальный аппаратный ключ защиты (обычно он фиолетового цвета, с маркировкой ORGL8, H4M1 или HL Pro) рассчитан на работу строго на одном физическом компьютере. Платформа «1С» намеренно блокирует опрос локальных USB-ключей, если запуск программы происходит внутри терминальной сессии RDP.
Существует лишь одно редкое исключение из этого правила: локальный ключ сработает в RDP, если вы подключитесь к серверу в режиме консоли (сессия 0) с помощью команды mstsc /admin (или mstsc /console для старых версий Windows Server). Однако работать в таком режиме сможет только один-единственный пользователь. Как только попытается зайти второй сотрудник, система выдаст ошибку лицензирования.
Для полноценной работы в терминальном режиме необходимо использовать один из двух вариантов:
ORGL8 Net 5, ORGL8 Net 10, ORGL8 Net 20 и т. д. до 500+ пользователей).Если у вас используются красные сетевые ключи HASP, их необходимо правильно опубликовать в локальной сети и настроить клиентские сессии. Рассмотрим, как это сделать.
Часто администраторы сталкиваются с тем, что служба HASP License Manager (HLM) отказывается устанавливаться или запускаться на современных серверных операционных системах. Разберем основные причины этой проблемы:
Во-первых, установка драйверов защиты и службы менеджера лицензий из стандартной RDP-сессии часто блокируется механизмами защиты ядра ОС. Чтобы успешно выполнить установку, обязательно подключайтесь к серверу в консольном режиме (mstsc /admin) или выполняйте инсталляцию непосредственно за физическим монитором машины.
Во-вторых, в системе может возникнуть конфликт старых версий драйверов. Если ранее на сервере устанавливалась платформа «1С» с включенной опцией «Установить драйвер защиты», то встроенные службы будут конфликтовать с полноценным менеджером лицензий. Чтобы исправить это, выполним полную очистку системы:
haspdinst.exe).haspdinst.exe -purge
HASP License Manager в качестве системной службы (Service), а не обычного приложения (Application). Это гарантирует запуск менеджера лицензий до входа пользователей в систему.Если ваша инфраструктура развернута на виртуальных машинах (например, Hyper-V, VMware ESXi или Proxmox), физические USB-порты хоста пробрасываются в гостевую операционную систему с помощью специального софта (USB-over-IP) или аппаратных концентраторов (например, AnywhereUSB).
При аварийном отключении питания и последующем включении физического сервера может возникнуть рассинхронизация: виртуальная машина с «1С» загружается быстрее, чем успевает инициализироваться программное обеспечение проброса USB или сам сетевой концентратор. В результате менеджер лицензий запускается на виртуальном сервере в момент, когда физический USB-ключ еще "не дошел" до системы. Внешне ключ может светиться на хосте, но виртуальная машина его не увидит.
В такой ситуации перезапустите службу менеджера лицензий вручную через оснастку services.msc (служба HASP Loader) после того, как убедитесь, что USB-устройство успешно определилось в диспетчере устройств виртуальной машины.
Рассмотрим ситуацию, когда сетевой красный ключ установлен на отдельном компьютере (например, на надежном ПК в бухгалтерии или на выделенном сервере лицензирования), а пользователи подключаются к «1С» через терминальный сервер RDP. Нам необходимо явно указать терминальному серверу, где именно искать менеджер лицензий.
Критически важный нюанс: поскольку пользователи работают в терминальном режиме, сама программа «1С» физически выполняется на сервере терминалов. Это значит, что редактировать конфигурационный файл nethasp.ini нужно только на сервере терминалов, а не на локальных компьютерах сотрудников! Любые правки на рабочих местах пользователей RDP будут проигнорированы.
Перейдем на компьютер, в который установлен красный USB-ключ. Найдем в каталоге установленного менеджера лицензий файл конфигурации nhsrv.ini. Откроем его текстовым редактором и зададим уникальное имя для нашего менеджера лицензий (имя не должно превышать 7 символов):
[NHS_SERVER]
NHS_SERVERNAMES = hlmSRV
После изменения этого параметра обязательно перезапустите службу HASP Loader на этом компьютере.
Перейдем на сервер терминалов. Нам нужно отредактировать файл nethasp.ini. Обычно он располагается в каталоге установленной платформы по пути: C:\Program Files (x86)\1cv8\conf\nethasp.ini (или в аналогичной папке для 64-битной версии платформы).
Откроем его и принудительно отключим неиспользуемые протоколы (например, устаревший IPX и NetBIOS), оставив только TCP/IP. Это существенно ускорит запуск «1С» и избавит от лишнего широковещательного трафика в сети. Укажем точный IP-адрес компьютера, на котором мы настроили менеджер лицензий на Шаге 1:
[NH_COMMON]
NH_TCPIP = Enabled
NH_IPX = Disabled
NH_NETBIOS = Disabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.50
NH_SERVER_NAME = hlmSRV
NH_TCPIP_METHOD = UDP
Разберем параметры подробнее:
NH_SERVER_ADDR — IP-адрес компьютера, в который физически установлен сетевой HASP-ключ и где запущена служба HASP Loader.NH_SERVER_NAME — имя менеджера лицензий, которое мы ранее прописали в файле nhsrv.ini (в нашем примере — hlmSRV).NH_TCPIP_METHOD — указывает протокол обмена. По умолчанию используется UDP, что является наиболее стабильным решением.Часто после прописывания всех IP-адресов лицензия по-прежнему не обнаруживается. Причиной тому является сетевой экран (брандмауэр Windows или сторонний антивирус).
Менеджер лицензий HASP осуществляет обмен данными по порту 475. Вам необходимо создать правила для входящих и исходящих подключений на компьютере с ключом и на сервере терминалов:
Для диагностики работы ключей системные администраторы используют утилиту Aladdin Monitor (AKS Monitor). Однако при работе с ней нужно учитывать важную техническую особенность: сессионный принцип отображения.
Когда вы только запустили менеджер лицензий и открыли Aladdin Monitor, вы увидите IP-адрес сервера в списке, но сам сетевой ключ и доступные лицензии отображаться не будут. Ключ появится в списке монитора только тогда, когда хотя бы один пользователь успешно запустит «1С» и получит активную лицензию. До этого момента таблица лицензий будет пустой, что часто вводит администраторов в заблуждение.
Также помните, что Aladdin Monitor общается с менеджером лицензий строго по протоколу UDP (порт 475). Если этот протокол заблокирован в сети, но TCP открыт, «1С» сможет запускаться и работать, но утилита мониторинга показывать ключ не будет.
Подведем итог и систематизируем правила, которые помогут вам избежать проблем с аппаратной защитой:
ORGL8) на один компьютер. Стек драйверов HASP увидит только один из них (выбранный случайно), а лицензии второго ключа будут недоступны.ORGL8, и дополнительные ORGL8A и ORGL8B) либо переходите на современные программные лицензии.nethasp.ini на сервере терминалов и прописывайте IP-адреса менеджеров лицензий явно. Это гарантирует мгновенный запуск «1С» у пользователей и стабильность сессий даже при кратковременных сетевых колебаниях.