В практике системного администрирования часто встречается задача организации многопользовательского доступа к 1С на обычных клиентских операционных системах, таких как Windows 10 Pro. Чтобы упростить ежедневную рутину, многие специалисты используют быстрое подключение к RDP с автоматическим вводом пароля, что значительно экономит время при работе с множеством баз. Несмотря на то, что штатно клиентские ОС не предназначены для роли сервера терминалов, использование специальных инструментов (например, RDPWrap) позволяет обходить это ограничение. Однако при такой настройке часто возникают специфические проблемы с лицензированием 1С:Предприятие. Разберем ситуацию, когда один пользователь работает локально с USB-ключом, а удаленные пользователи должны использовать программные лицензии, но сталкиваются с ошибкой «Лицензия занята».
Проанализируем ситуацию: когда второй или третий пользователь подключается через удаленный рабочий стол к компьютеру под управлением Windows 10, 1С пытается найти доступную лицензию. В норме, если свободная лицензия не найдена, программа должна предложить активировать новую. Однако в режиме RDP на клиентской ОС часто возникает конфликт логики определения терминальной сессии. Рассмотрим основные причины, по которым это происходит:
.lic) и наложила на него исключительную файловую блокировку. Когда заходит второй пользователь, 1С видит этот файл, понимает, что он подходит по параметрам железа, но не может его использовать, так как он заблокирован первым сеансом. Вместо предложения активировать новый пин-код, система выдает ошибку о занятости ресурса.WindowsStation. В обычном режиме работы (локально) этот объект один. В полноценном сервере терминалов для каждой сессии создается свой объект. На «патченной» Windows 10 1С может ошибочно определять все RDP-сессии как одну, пытаясь использовать одну и ту же лицензию.Самый простой и эффективный способ решить проблему, когда 1С не предлагает окно активации — вызвать его принудительно. Для этого выполним следующие шаги вместе:
/GetLicense
Рассмотрим важный момент: при активации второй лицензии на тот же самый компьютер крайне важно, чтобы файл лицензии сохранился в общедоступном месте, чтобы система могла перебирать файлы по очереди.
Для стабильной работы нескольких пользователей в терминальном режиме на Windows 10 необходимо правильно настроить хранение файлов лицензий. Разберем два варианта:
Вариант А: Общее хранилище (Рекомендуется)
Расположим все файлы лицензий в папке C:\ProgramData\1C\1cv8\conf. Это обеспечит видимость лицензий для всех пользователей системы. В этом случае 1С будет действовать по принципу: «если первый файл занят другим пользователем, пробуем прочитать второй». Это позволяет динамически распределять лицензии между зашедшими пользователями.
Вариант Б: Разделение по профилям
Если автоматический перебор файлов в общей папке не срабатывает из-за особенностей патча RDP, можно активировать лицензии «только для текущего пользователя». В этом случае файлы будут созданы в профиле пользователя:
%AppData%\1C\1cv8\conf (обычно это C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\conf). При такой настройке каждый пользователь будет видеть только свою персональную лицензию, и конфликта блокировки файлов не возникнет.
Если на компьютере установлен аппаратный USB-ключ, который предназначен только для локального пользователя, проанализируем ситуацию: RDP-пользователи могут пытаться «захватить» его, мешая основному работнику. Чтобы этого избежать, мы можем принудительно запретить удаленным пользователям искать локальный HASP-ключ. Разберем, как это сделать:
nethasp.ini. Обычно он находится в папке C:\Program Files\1cv8\conf (или C:\Program Files (x86)\1cv8\conf).[NH_COMMON] и установим параметр:
[NH_COMMON]
NH_USE_HASP = Off
Это заставит 1С игнорировать аппаратные ключи и сразу переходить к поиску программных лицензий для данного сеанса. Внимание: это изменение затронет всех пользователей, если файл общий. Для индивидуальной настройки можно скопировать этот файл в папку conf конкретного пользователя.
Подводя итог, отметим: работа 1С на Windows 10 в режиме RDP с программными лицензиями вполне возможна. Основной секрет заключается в том, что один сеанс RDP = один активированный пин-код. Нельзя использовать один и тот же активированный пин-код для двух разных людей на одном компьютере в терминале.
Рассмотрим краткий чек-лист для проверки:
.lic имеют разные имена (обычно это дата и время активации в названии)./GetLicense для добавления новых мест.conf.