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

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

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

Почему однопользовательский ключ не виден в RDP?

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

Когда вы подключаетесь через RDP, операционная система Windows (включая обычные версии вроде Windows 10) создает отдельную виртуальную терминальную сессию (с идентификатором, отличным от 0). Платформа 1С при запуске обнаруживает, что клиент работает в терминальном режиме, и принудительно блокирует опрос однопользовательского локального ключа. Согласно лицензионной политике 1С, для работы в RDP (терминальном сервере) должны использоваться многопользовательские (сетевые) ключи или программные лицензии.

Ошибочные пути обхода: что делать не нужно

Перед тем как перейти к правильным решениям, давайте исключим методы, которые приведут к потере времени или нарушению лицензионного соглашения:

  1. Проброс USB-устройств (USB over Network, AnywhereUSB). Технологии проброса портов физически доставляют порт в систему, но они никак не обманывают проверку платформы 1С на наличие активного терминального сеанса. 1С все равно увидит RDP и заблокирует однопользовательский ключ.
  2. Модификация файлов платформы. В интернете можно встретить старые советы по редактированию системного файла backbas.dll через HEX-редактор для отключения проверки RDP. Это строго запрещено! Данное действие является нарушением лицензионного соглашения. Более того, в современных версиях платформы 1С встроена жесткая проверка целостности файлов, и подобный "хак" просто приведет к отказу работы платформы с критической ошибкой.

Решение 1: Раздача лицензии через Сервер 1С (включая Сервер МИНИ)

Разберем по шагам полностью легальный и технически грамотный способ решения проблемы, если у вас используется клиент-серверный вариант работы (установлен Сервер 1С:Предприятия или Сервер МИНИ).

Сервер 1С, запущенный в нулевой сессии (как служба Windows), имеет полный доступ к аппаратному однопользовательскому ключу. Мы можем настроить систему так, чтобы RDP-клиент не пытался сам искать ключ (что заведомо обречено на провал), а запрашивал лицензию у Сервера 1С.

  1. Убедитесь, что Сервер 1С видит аппаратный ключ. Серверная часть работает локально и без проблем считывает лицензию.
  2. В настройках запуска клиента 1С в сеансе RDP необходимо отключить использование аппаратного ключа защиты. Это заставит клиента сразу обратиться к серверу за лицензией, минуя локальный опрос и предотвращая выдачу ошибки.
  3. Отключить опрос можно в окне запуска 1С (Настройка -> снять галочку "Использовать аппаратную лицензию (ключ защиты)") или использовать параметр запуска командной строки: /UseHwLicenses-.

Важное ограничение метода: расход лицензий.
Посмотрим на механизм потребления лицензий. Если клиент получает лицензию напрямую от ключа (локально), он занимает одну лицензию на весь компьютер, и вы можете открыть хоть 10 баз 1С одновременно. Если же лицензию выдает Сервер 1С, то каждый запуск клиента (каждая открытая база) забирает одну лицензию. Так как ключ однопользовательский, Сервер 1С сможет выдать ее только для одной сессии. Попытка открыть вторую базу параллельно выдаст ошибку отсутствия лицензий.

Также помните: если кто-то другой (даже локально) первым запустит базу и Сервер 1С отдаст ему эту единственную лицензию, пользователь RDP зайти не сможет. Поэтому локальным пользователям, работающим за самим сервером, наоборот, рекомендуется включать принудительный опрос аппаратного ключа (параметр /UseHwLicenses+), чтобы они забирали лицензию аппаратно, а не через пул Сервера 1С.

Решение 2: Использование программной многопользовательской лицензии с привязкой к USB

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

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

В этом сценарии "железом", к которому привязывается программная лицензия, выступает сам физический USB-токен. Вы можете переносить этот USB-ключ вместе с файлом программной лицензии (с расширением .lic) на любые новые серверы, виртуальные машины и компьютеры. Активация не будет сброшена, и вы получите полноценную поддержку RDP без проблем с аппаратными блокировками.

Решение 3: Альтернативные варианты доступа

Если покупка новых лицензий пока невозможна, а раздача через Сервер 1С не подходит (например, база файловая), проанализируем ситуацию и рассмотрим обходные пути доступа:

  1. Программы удаленного управления экраном. Использование утилит типа AnyDesk, Ammyy Admin, TeamViewer, LiteManager или RMS. В отличие от RDP, эти программы не создают новую виртуальную сессию, а подключаются к текущей консольной (нулевой) сессии пользователя (Shadow-подключение). Платформа 1С "думает", что за компьютером сидит физический пользователь, и однопользовательский ключ работает штатно.
  2. Веб-доступ (Web-клиент). Если опубликовать вашу базу на веб-сервере (IIS или Apache), пользователи смогут заходить через обычный браузер. В этом случае модуль расширения веб-сервера 1С будет запрашивать лицензию у Сервера 1С (или напрямую у ключа, если база файловая), и RDP-подключение вообще не понадобится. Это современный и безопасный "стандарт де-факто" для удаленной работы с 1С без использования VPN.

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

← На главную