Почему 1С не видит локальные лицензии при работе через RDP и как это исправить

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

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

Причина проблемы: изоляция сессий в RDP

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

Основная причина отсутствия лицензий заключается в том, что платформа 1С ищет ключ защиты (программный или аппаратный) именно там, где она запущена — то есть на сервере. Она не может "заглянуть" через сетевое соединение обратно на клиентский компьютер и проверить наличие там программного файла лицензии или USB-токена. Для сервера этих локальных ресурсов просто не существует.

Решение 1: Активация программных лицензий непосредственно на сервере

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

  1. Использование пин-кодов: Для активации на сервере вам потребуются резервные пин-коды из комплекта поставки. Если они закончились, придется запрашивать новые в центре лицензирования 1С, обосновав это переходом на терминальный режим.
  2. Место хранения: При активации крайне важно выбирать вариант "На этот компьютер" для всех пользователей. В этом случае файл лицензии (с расширением .lic) будет доступен любой терминальной сессии.
  3. Расход лицензий: Посмотрим на существенное отличие. На локальном ПК одна лицензия позволяла открывать любое количество баз. В RDP-сессии программная лицензия, активированная на сервере, расходуется на каждый запуск программы. Если пользователь в терминале откроет три разные информационные базы, система может затребовать три отдельные лицензии, если не используется сервер 1С:Предприятия, который умеет объединять лицензии в пул.

Решение 2: Использование веб-сервера (публикация базы)

Проанализируем альтернативный вариант, упомянутый в обсуждении. Если вы хотите сохранить использование лицензий на локальных машинах, можно отказаться от RDP в пользу веб-сервера (например, Apache или IIS). Это позволит работать через Тонкий клиент.

При таком подходе логика поиска ключей меняется:

Важно: Этот метод работает только для Тонкого клиента. При попытке зайти через обычный браузер локальная лицензия задействована не будет — в этом случае лицензия должна быть на сервере.

Решение 3: Замена ключей на сетевые USB (HASP)

Разберем ситуацию с аппаратными ключами. Обычные локальные USB-ключи (синего или фиолетового цвета, маркировка H4) также не будут работать в RDP. Драйвер HASP намеренно блокирует доступ к локальному ключу из терминальной сессии в целях защиты авторских прав.

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

  1. Устанавливаете ключ в сервер или в любой компьютер в локальной сети.
  2. Запускаете службу HASP License Manager на этом компьютере.
  3. На терминальном сервере в файле nnhasp.ini (находится в папке с установленной платформой) прописываете IP-адрес компьютера, где стоит ключ.

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

Особенности виртуализации

Если ваш RDP-сервер развернут внутри виртуальной машины (например, Hyper-V или VMware), программные лицензии становятся крайне чувствительными к изменениям. Выясним, почему лицензия может "слететь":

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

Иерархия поиска лицензий

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

  1. Локальный ключ: Проверка физически вставленного USB или файла лицензии на текущей машине (в RDP это всегда сервер).
  2. Лицензия от сервера 1С: Если используется клиент-серверный вариант (SQL), лицензию может выдать сам сервер 1С из своего пула.
  3. Сетевой USB-ключ: Поиск ключа NET в локальной сети через HASP License Manager.

Таким образом, для успешной работы в терминальном режиме вам необходимо обеспечить наличие лицензии на одном из этих этапов именно с точки зрения сервера, а не клиентского ПК.

← На главную