Почему однопользовательский USB-ключ 1С не работает на терминальном сервере и как решить проблему с лицензией?

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

Часто системные администраторы и пользователи сталкиваются с ситуацией, когда при замене сетевого ключа 1С на локальный однопользовательский (например, USB Hasp HL Pro ORGL8), при подключении через удаленный рабочий стол (RDP) возникает ошибка: «Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия». Сервер при этом может работать на базе ОС Windows Server 2008 R2 и выше, а программа 1С 8.3 функционировать в файловом или клиент-серверном режиме. Давайте вместе разберем, почему возникает эта проблема, проанализируем ограничения лицензирования и рассмотрим эффективные способы ее решения.

Разберем причины блокировки локального ключа в терминальной сессии (RDP)

Если ранее использовался сетевой многопользовательский ключ на несколько рабочих мест (например, на 5 пользователей), сервер HASP License Manager (HASP LM) успешно раздавал лицензии по сети, в том числе и пользователям терминального сервера. Но как только мы меняем его на однопользовательский локальный USB-ключ (обычно они имеют синий или фиолетовый цвет), система перестает выдавать лицензии удаленным пользователям.

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

Также важно понимать особенности работы утилиты HASP License Manager. Она предназначена исключительно для работы с сетевыми многопользовательскими ключами (красного цвета с маркировкой Net). Попытки настроить HASP LM, открыть порты или отредактировать конфигурационный файл nethasp.ini для однопользовательского ключа бессмысленны — программа технически не умеет считывать и раздавать по сети такие лицензии.

Проанализируем исключение: работа в консольной сессии

Существует одна недокументированная особенность, о которой стоит знать. Однопользовательский ключ можно заставить работать при удаленном подключении, если сымитировать локальный вход на сервер. Рассмотрим подробнее этот процесс.

Для этого необходимо инициировать так называемую консольную сессию при подключении. Выполняется это с помощью добавления специального ключа в команду запуска клиента RDP:

mstsc /admin

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

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

Разберем неудачные обходные пути: проброс USB по сети

Многие администраторы пытаются обойти ограничение с помощью технологий USB-over-Network, пробрасывая USB-порт с ключом напрямую в терминальную сессию пользователя. Проанализируем, почему этот метод не работает.

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

Рассмотрим правильные пути решения проблемы

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

  1. Отказ от RDP и публикация базы на веб-сервере.
    Если вы работаете в файловом режиме, базу можно опубликовать на локальном веб-сервере (например, IIS или Apache), развернутом на этом же компьютере. В таком случае пользователи будут подключаться не к рабочему столу Windows, а напрямую к базе 1С через браузер или тонкий клиент по протоколам HTTP/HTTPS. Сама платформа будет запускаться физически на сервере (через веб-расширение), и она успешно «заберет» лицензию из вставленного однопользовательского ключа. Важно помнить: этот способ обеспечит доступ только одному пользователю одновременно.
  2. Переход на программные лицензии (пин-коды).
    Программные клиентские лицензии лишены ограничений на использование в терминальных сессиях. Они надежно привязываются к аппаратному обеспечению сервера. Если активировать однопользовательскую или многопользовательскую программную лицензию на сервере терминалов, платформа будет корректно раздавать их всем подключенным по RDP пользователям в пределах купленного количества.
  3. Использование сетевых аппаратных ключей.
    Для классической работы нескольких человек через терминальный сервер требуется сетевой многопользовательский USB-ключ (минимум на 5 рабочих мест, красный цвет). Только они официально поддерживают раздачу лицензий внутри терминала в связке с HASP License Manager.

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

← На главную