Переход с файлового режима работы по сети на работу через удаленный рабочий стол (RDP) — это стандартный шаг для повышения производительности 1С. Однако на этом этапе системные администраторы часто сталкиваются с тем, что программа перестает видеть лицензии, которые ранее исправно работали на локальных компьютерах пользователей. Разберем подробно, почему так происходит, и какие существуют способы решения этой проблемы.
Проанализируем механику работы терминального сервера. Когда пользователь подключается к серверу по RDP, сессия запускается полностью в изолированном окружении на стороне сервера. Программа 1cv8.exe физически выполняется на серверном железе, в оперативной памяти сервера и под управлением его процессора. В этой модели локальный компьютер пользователя выступает лишь в роли "монитора и клавиатуры".
Основная причина отсутствия лицензий заключается в том, что платформа 1С ищет ключ защиты (программный или аппаратный) именно там, где она запущена — то есть на сервере. Она не может "заглянуть" через сетевое соединение обратно на клиентский компьютер и проверить наличие там программного файла лицензии или USB-токена. Для сервера этих локальных ресурсов просто не существует.
Рассмотрим самый очевидный и бюджетный способ. Если у вас есть комплекты однопользовательских программных лицензий, их необходимо активировать заново, но уже в терминальной сессии на сервере. Выясним важные нюансы этого процесса:
.lic) будет доступен любой терминальной сессии.RDP-сессии программная лицензия, активированная на сервере, расходуется на каждый запуск программы. Если пользователь в терминале откроет три разные информационные базы, система может затребовать три отдельные лицензии, если не используется сервер 1С:Предприятия, который умеет объединять лицензии в пул.Проанализируем альтернативный вариант, упомянутый в обсуждении. Если вы хотите сохранить использование лицензий на локальных машинах, можно отказаться от RDP в пользу веб-сервера (например, Apache или IIS). Это позволит работать через Тонкий клиент.
При таком подходе логика поиска ключей меняется:
Важно: Этот метод работает только для Тонкого клиента. При попытке зайти через обычный браузер локальная лицензия задействована не будет — в этом случае лицензия должна быть на сервере.
Разберем ситуацию с аппаратными ключами. Обычные локальные USB-ключи (синего или фиолетового цвета, маркировка H4) также не будут работать в RDP. Драйвер HASP намеренно блокирует доступ к локальному ключу из терминальной сессии в целях защиты авторских прав.
Для корректной работы в RDP необходимо использовать сетевые USB-ключи (красного цвета, маркировка NET). Алгоритм настройки будет следующим:
HASP License Manager на этом компьютере.nnhasp.ini (находится в папке с установленной платформой) прописываете IP-адрес компьютера, где стоит ключ.Посмотрим на финансовую сторону: замена программных лицензий на USB-ключ обычно является платной услугой и требует обращения к партнерам 1С (франчайзи). Однако USB-ключи гораздо стабильнее программных при обновлении серверного оборудования.
Если ваш RDP-сервер развернут внутри виртуальной машины (например, Hyper-V или VMware), программные лицензии становятся крайне чувствительными к изменениям. Выясним, почему лицензия может "слететь":
Рекомендация: При использовании программных лицензий на виртуальном сервере зафиксируйте все параметры оборудования в настройках гипервизора, чтобы избежать необходимости повторной активации.
Чтобы лучше понять, как решить проблему, рассмотрим порядок, в котором платформа 1С ищет лицензию при запуске:
NET в локальной сети через HASP License Manager.Таким образом, для успешной работы в терминальном режиме вам необходимо обеспечить наличие лицензии на одном из этих этапов именно с точки зрения сервера, а не клиентского ПК.