Почему 1С не видит аппаратный сетевой ключ HASP при подключении по RDP и как это исправить

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

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

Особенности поиска аппаратных лицензий 1С внутри RDP-сессии

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

  1. Запрет прямого локального опроса: Клиентское приложение 1С в RDP-сеансе никогда не ищет ключ как локальное физическое устройство на данном компьютере, даже если сессия запущена на том же самом физическом сервере.
  2. Опрос только через сетевой менеджер: Получение лицензии внутри терминальной сессии возможно исключительно по сети через службу HASP License Manager (HASP LM) по протоколу NetHASP.

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

Различие между службами Sentinel LDK и HASP License Manager

Выясним частую причину путаницы при установке драйверов. При установке современных драйверов ключей защиты в диспетчере задач Windows появляется процесс hasplms (Sentinel LDK License Manager, порт 1947). Наличие этого процесса гарантирует только распознавание самого USB-устройства на уровне операционной системы (в диспетчере устройств оно отображается как SafeNet Inc HASP Key и SafeNet Inc USB Key).

Однако для раздачи сетевых лицензий 1С классических серий (HASP4 серии ORGL8) работы одного лишь hasplms недостаточно. Обязательно требуется отдельная служба:

  1. HASP License Manager: Исполняемый файл nhsrvice.exe (служба Windows) или nhsrvw32.exe (приложение).
  2. Сетевой порт: Служба работает по порту 475 (UDP и TCP).

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

Диагностика и настройка конфигурационного файла nethasp.ini

Посмотрим, как клиент 1С определяет адреса компьютеров с менеджерами лицензий. Для явного указания маршрутов поиска ключа используется файл конфигурации nethasp.ini.

Рассмотрим порядок поиска и редактирования файла:

  1. Найдем каталог размещения nethasp.ini. Файл обычно располагается в папке conf конкретной версии платформы (например, C:\Program Files\1cv8\8.3.XX.XXXX\bin\conf\nethasp.ini) либо в общесистемном каталоге C:\Program Files\1cv8\conf\.
  2. Откроем файл в текстовом редакторе и проверим секции [NH_COMMON] и [NH_TCPIP].
  3. Убедимся, что параметр NH_SERVER_ADDR содержит корректный список IP-адресов серверов, где физически установлены ключи и запущен HASP LM.

Разберем пример правильной конфигурации файла для сервера с IP-адресом 192.168.0.4:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_USE_BROADCAST = Disabled
NH_PORT_NUMBER = 475
NH_SERVER_ADDR = 127.0.0.1, 192.168.0.4
NH_SESSION = 5
NH_SEND_METHOD = UDP

Обратите внимание: Отключение широковещательного поиска с помощью NH_USE_BROADCAST = Disabled и явное перечисление IP-адресов через NH_SERVER_ADDR позволяет исключить задержки при запуске 1С и предотвращает ошибки поиска лицензий при нестабильном широковещании в локальной сети.

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

Выполним следующие шаги для восстановления стабильной работы:

  1. Проверка службы менеджера лицензий: Убедимся, что на целевом сервере установлена и запущена служба HASP License Manager (nhsrvice). Проверим состояние порта командой в командной строке: netstat -ano | findstr 475.
  2. Настройка сетевого экрана (Брандмауэр Windows): Добавим разрешающие правила для входящего и исходящего трафика по порту 475 UDP и TCP для службы nhsrvice.exe.
  3. Контроль занятости лицензий веб-сервером: Если на сервере развернут веб-сервер (IIS или Apache), его рабочие процессы (например, w3wp.exe или httpd.exe) могут удерживать лицензии в пуле соединений. В случае нехватки слотов на ключе необходимо выполнить перезапуск пула приложений или службы веб-сервера.
  4. Использование утилиты диагностики: Для детального анализа занятых лицензий запустим утилиту Aladdin Monitor (AKS Monitor). Она позволяет в реальном времени увидеть, видит ли менеджер лицензий физический ключ, сколько свободных лицензий осталось и какие сетевые адреса занимают слоты.

Выполнив указанную настройку службы nhsrvice и файла nethasp.ini, мы обеспечим гарантированное получение сетевой лицензии как в рабочее время, так и при автономной работе в RDP-сессии.

← На главную