Почему программная лицензия 1С доступна только по RDP и как раздать все лицензии по сети?

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

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

Выясняем причину: особенности активации программных лицензий 1С

Основная причина описываемой проблемы кроется в способе активации программной лицензии (выборе владельца лицензии в процессе работы помощника активации) и, как следствие, в физическом пути сохранения файла лицензии (с расширением .lic) на диске сервера.

В процессе активации программного ключа на сервере система предлагает два альтернативных варианта привязки:

  1. «На этот компьютер» (Для всех пользователей данного компьютера): При выборе этого варианта файл лицензии сохраняется в общий системный каталог. Любые службы Windows (включая службу сервера приложений 1С) и любые пользователи имеют к нему доступ.
  2. «Для текущего пользователя»: В этом случае файл лицензии сохраняется в закрытую личную папку профиля того пользователя Windows, под учетной записью которого в данный момент запущена сессия 1С и выполняется активация (например, Администратора).

Что происходит на практике в вашей системе:

Первая лицензия на 5 пользователей была активирована с параметром «Для всех пользователей». Служба сервера приложений 1С (работающая по умолчанию под системной учетной записью USR1CV8) без проблем считывает файл лицензии из общего каталога и успешно раздает её клиентам, подключающимся по сети.

Вторая лицензия на 5 пользователей была по ошибке активирована «Для текущего пользователя». В результате файл лицензии попал в скрытую папку профиля конкретного пользователя (например, Администратора сервера). Служба сервера 1С не имеет прав доступа к чужому пользовательскому профилю и «не видит» этот файл, поэтому сеть не дополучает эти 5 лицензий. Однако, как только вы заходите на сервер по RDP под той самой учетной записью администратора и запускаете локальный сеанс 1С, платформа мгновенно находит файл лицензии в вашем профиле, и запуск происходит успешно.

Где физически искать файлы лицензий?

Рассмотрим подробнее пути, по которым платформа «1С:Предприятие» выполняет поиск файлов лицензий. Нам необходимо проверить несколько ключевых каталогов на сервере.

Общие каталоги (где должны располагаться файлы всех лицензий):

Индивидуальные каталоги профилей (где могла «затеряться» вторая лицензия):

Разберем по шагам: как переместить лицензию в общий каталог

Для того чтобы объединить лицензии и сделать их доступными для раздачи по сети, выполним по шагам следующую процедуру переноса:

  1. Зайдите на сервер под учетной записью, из-под которой запускалась активация проблемной лицензии. Направьтесь по пути C:\Users\<Имя_Пользователя>\AppData\Local\1C\1Cv8\ExtDst\ и найдите там файл с расширением .lic.
  2. Вырежьте этот файл (действие «Переместить») и вставьте его в общую папку C:\ProgramData\1C\licenses.

Важное предупреждение: Ни в коем случае не копируйте файл, оставляя оригинал на старом месте. Если платформа обнаружит в разных каталогах два файла лицензий с абсолютно одинаковыми серийными номерами и параметрами привязки, это будет расценено системой защиты как нарушение лицензионного соглашения. Лицензия будет заблокирована до момента удаления дубликата.

Настройка прав доступа NTFS для службы сервера 1С

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

Проанализируем процедуру выдачи прав. Нам необходимо убедиться, что учетная запись, под которой работает служба сервера 1С (обычно это локальный пользователь USR1CV8), имеет полные права на чтение и изменение файлов в каталоге C:\ProgramData\1C\licenses.

Для автоматизации этой задачи и перезапуска службы сервера можно воспользоваться командной строкой Windows (запущенной от имени Администратора) или сценарием PowerShell:


icacls "C:\ProgramData\1C\licenses" /grant:r "USR1CV8":(OI)(CI)(F) /T
net stop "1C:Enterprise 8.3 Server Agent"
net start "1C:Enterprise 8.3 Server Agent"

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

Проанализируем ситуацию: особенности работы в файловом режиме базы данных

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

Платформа «1С:Предприятие 8» в файловом режиме не умеет раздавать программные лицензии по сети силами самой файловой базы данных. Это принципиальное отличие программных лицензий от старых аппаратных ключей HASP, которые обслуживались специальной службой HASP License Manager.

В файловом варианте без дополнительных надстроек программная лицензия, установленная на сервере, будет доступна пользователям только в сессии RDP (так как сеанс запускается локально на самом сервере). Клиенты, запускающие 1С со своих локальных компьютеров и открывающие базу по сети через общий сетевой путь (например, \\server\base), не смогут задействовать лицензии, лежащие на сервере.

Для решения этой проблемы в файловом режиме существуют два основных пути:

Решение А: Публикация базы данных на веб-сервере

Мы можем установить на сервере бесплатный веб-сервер (например, Microsoft IIS или Apache) и опубликовать в нем нашу файловую базу. При такой архитектуре модуль веб-сервера 1С запускается непосредственно на сервере, считывает программные лицензии из общих папок (все 10 доступных лицензий) и сам распределяет их пользователям, которые подключаются через тонкий клиент или веб-браузер. Это наиболее технологичный и стабильный способ организации совместной работы в файловых базах.

Решение Б: Локальная децентрализованная активация лицензий

Комплекты программных лицензий на несколько пользователей поставляются с двумя наборами пин-кодов:

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

← На главную