Как настроить совместное использование HASP-ключей и программных лицензий 1С на одном RDP-сервере?

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

При работе в терминальном режиме (RDP) системные администраторы часто сталкиваются с проблемой нерационального расхода лицензий. Типичная ситуация: бухгалтер запускает «1С:Бухгалтерию», «1С:Зарплату и управление персоналом» и «1С:Управление торговлей» в рамках одной сессии, и система списывает три лицензии вместо одной. Рассмотрим подробнее, почему это происходит и как настроить систему так, чтобы лицензии расходовались оптимально, совмещая аппаратные ключи HASP и электронные (программные) лицензии.

Выясним причину избыточного расхода лицензий

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

  1. Выдача лицензии сервером 1С:Предприятия: В этом случае сервер сам подсчитывает сеансы. Для него каждый запуск приложения — это новый сеанс, поэтому на каждое открытое окно тратится одна лицензия.
  2. Получение лицензии клиентом (локально на RDP): Если лицензия активирована непосредственно на терминальном сервере или доступна через HASP License Manager, то платформа 1С видит, что запуск происходит в рамках одного и того же терминального идентификатора (ID сессии). В этом случае одна лицензия позволяет запускать неограниченное количество информационных баз.

Решение 1: Перенос программных лицензий на терминальный сервер

Проанализируем ситуацию: если у вас уже есть 20 электронных лицензий, покупка HASP-ключа на 5 пользователей может быть избыточной. Самый простой способ заставить программные лицензии работать по принципу «одна сессия — одна лицензия» — это изменить место их активации.

Разберем по шагам, как это сделать:

  1. Деактивация на сервере: Нам необходимо прекратить раздачу лицензий сервером 1С. Для этого в консоли администрирования 1С в свойствах каждой информационной базы нужно установить параметр Разрешить выдачу лицензий сервером 1С:Предприятия в значение Нет.
  2. Активация на RDP-сервере: Переустановите программные лицензии непосредственно на терминальном сервере. При активации выберите вариант «На этот компьютер» для всех пользователей.
  3. Ограничение сессий: Убедитесь, что в настройках службы терминалов Windows установлена опция Ограничивать пользователя единственным сеансом. Это гарантирует, что идентификатор сессии будет стабильным.

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

Решение 2: Использование аппаратного HASP и программных лицензий одновременно

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

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

Используйте следующие ключи в строке запуска (поле «Дополнительные параметры запуска»):

Решение 3: Индивидуальная настройка nethasp.ini для пользователей

Проблема в том, что файл nethasp.ini, находящийся в папке conf каталога установки 1С, является общим для всех. Однако мы можем переопределить настройки для конкретных сотрудников. Рассмотрим два способа:

Способ А: Переменные окружения
Мы можем создать для определенных пользователей Windows переменную среды HASP_CONFIG. В значении переменной укажем путь к индивидуальному файлу настроек. Проанализируем пример:

  1. Создаем файл C:\1C_Settings\buh_nethasp.ini.
  2. В переменные среды пользователя добавляем: HASP_CONFIG = C:\1C_Settings\buh_nethasp.ini.

Способ Б: Размещение файла в профиле пользователя
Платформа 1С ищет настройки в следующем порядке: текущий каталог запуска, каталог пользователя Windows, каталог conf. Разместив правильно настроенный nethasp.ini в папку %AppData%\1C\1CEStart\, мы добьемся того, что именно этот файл будет приоритетным для конкретного человека.

Настройка nethasp.ini для стабильной работы в сети

Посмотрим на пример правильной настройки файла nethasp.ini, чтобы избежать длительного поиска ключа (broadcast-запросов), которые часто «вешают» систему при запуске:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
;; Указываем конкретный IP-адрес машины, где стоит HASP License Manager
NH_SERVER_ADDR = 192.168.1.50 
;; Отключаем широковещательный поиск
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = TCP_IP

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


[NH_COMMON]
NH_TCPIP = Disabled

Нюансы работы с веб-сервером и файловыми базами

Проанализируем ситуацию с публикацией баз на веб-сервере (IIS или Apache). Важно помнить: если вы перейдете на использование баз через браузер (веб-клиент), то лицензии всегда будет раздавать либо сервер 1С, либо модуль расширения веб-сервера. В этом случае экономия «одна сессия — одна лицензия» перестает работать, так как веб-сервер не видит терминальную сессию пользователя.

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

Резюмируем: Совместное использование возможно. Оптимальный путь — либо перенос всех лицензий на терминальный сервер (что бесплатно и решает проблему), либо использование ключа запуска /UseHwLicenses в сочетании с индивидуальными файлами nethasp.ini для разделения потоков пользователей между USB-ключом и электронными лицензиями.

← На главную