Как настроить работу нескольких пользователей 1С через RDP на Windows 10 с программными лицензиями?

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

В практике системного администрирования часто встречается задача организации многопользовательского доступа к 1С на обычных клиентских операционных системах, таких как Windows 10 Pro. Чтобы упростить ежедневную рутину, многие специалисты используют быстрое подключение к RDP с автоматическим вводом пароля, что значительно экономит время при работе с множеством баз. Несмотря на то, что штатно клиентские ОС не предназначены для роли сервера терминалов, использование специальных инструментов (например, RDPWrap) позволяет обходить это ограничение. Однако при такой настройке часто возникают специфические проблемы с лицензированием 1С:Предприятие. Разберем ситуацию, когда один пользователь работает локально с USB-ключом, а удаленные пользователи должны использовать программные лицензии, но сталкиваются с ошибкой «Лицензия занята».

Анализируем причину проблемы: почему 1С не видит свободную лицензию?

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

  1. Блокировка файла лицензии: Когда первый RDP-пользователь успешно запустил 1С, программа считала файл программной лицензии (с расширением .lic) и наложила на него исключительную файловую блокировку. Когда заходит второй пользователь, 1С видит этот файл, понимает, что он подходит по параметрам железа, но не может его использовать, так как он заблокирован первым сеансом. Вместо предложения активировать новый пин-код, система выдает ошибку о занятости ресурса.
  2. Объект WindowsStation: Выясним важный технический нюанс. В ОС Windows лицензия 1С привязвается к объекту WindowsStation. В обычном режиме работы (локально) этот объект один. В полноценном сервере терминалов для каждой сессии создается свой объект. На «патченной» Windows 10 1С может ошибочно определять все RDP-сессии как одну, пытаясь использовать одну и ту же лицензию.
  3. Порядок поиска лицензий: Посмотрим, как 1С ищет ключ. Сначала проверяется локальный USB-ключ (HASP), затем локальный файл лицензии, затем сетевые ключи. Если удаленный пользователь «видит» вставленный в сервер USB-ключ, он может попытаться занять его, блокируя работу локального пользователя.

Способ 1: Принудительная активация дополнительной лицензии через Конфигуратор

Самый простой и эффективный способ решить проблему, когда 1С не предлагает окно активации — вызвать его принудительно. Для этого выполним следующие шаги вместе:

  1. Зайдем в систему под тем пользователем, которому не хватает лицензии (в его RDP-сессии).
  2. Запустим 1С:Предприятие в режиме Конфигуратор. Часто это удается сделать даже тогда, когда режим предприятия выдает ошибку. Если вы являетесь разработчиком, вам также может быть полезна установка комьюнити-лицензии разработчика на сервер 1С, которая позволяет автоматизировать некоторые процессы лицензирования.
  3. Если Конфигуратор не запускается, используем специальный параметр запуска. В окне списка баз нажмем «Изменить» и в поле «Дополнительные параметры запуска» введем: /GetLicense
  4. После запуска Конфигуратора перейдем в меню «Сервис» — «Получение лицензии».
  5. Введем регистрационный номер комплекта и новый (еще не использованный) пин-код из имеющейся программной лицензии.

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

Способ 2: Управление размещением файлов лицензий (.lic)

Для стабильной работы нескольких пользователей в терминальном режиме на Windows 10 необходимо правильно настроить хранение файлов лицензий. Разберем два варианта:

Вариант А: Общее хранилище (Рекомендуется)

Расположим все файлы лицензий в папке C:\ProgramData\1C\1cv8\conf. Это обеспечит видимость лицензий для всех пользователей системы. В этом случае 1С будет действовать по принципу: «если первый файл занят другим пользователем, пробуем прочитать второй». Это позволяет динамически распределять лицензии между зашедшими пользователями.

Вариант Б: Разделение по профилям

Если автоматический перебор файлов в общей папке не срабатывает из-за особенностей патча RDP, можно активировать лицензии «только для текущего пользователя». В этом случае файлы будут созданы в профиле пользователя: %AppData%\1C\1cv8\conf (обычно это C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\conf). При такой настройке каждый пользователь будет видеть только свою персональную лицензию, и конфликта блокировки файлов не возникнет.

Настройка файла nethasp.ini для исключения конфликтов с USB-ключом

Если на компьютере установлен аппаратный USB-ключ, который предназначен только для локального пользователя, проанализируем ситуацию: RDP-пользователи могут пытаться «захватить» его, мешая основному работнику. Чтобы этого избежать, мы можем принудительно запретить удаленным пользователям искать локальный HASP-ключ. Разберем, как это сделать:

  1. Найдем файл nethasp.ini. Обычно он находится в папке C:\Program Files\1cv8\conf (или C:\Program Files (x86)\1cv8\conf).
  2. Откроем его любым текстовым редактором от имени Администратора.
  3. Найдем секцию [NH_COMMON] и установим параметр:

[NH_COMMON] NH_USE_HASP = Off

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

Резюме и рекомендации по стабильности

Подводя итог, отметим: работа 1С на Windows 10 в режиме RDP с программными лицензиями вполне возможна. Основной секрет заключается в том, что один сеанс RDP = один активированный пин-код. Нельзя использовать один и тот же активированный пин-код для двух разных людей на одном компьютере в терминале.

Рассмотрим краткий чек-лист для проверки:

← На главную