Файлы лицензий 1С:Предприятия на сервере: где искать и как проверить

· 9 мин

Содержание

Программная лицензия 1С на сервере хранится в файле с расширением .lic. На Windows основной каталог — C:\ProgramData\1C\licenses, на Linux — /var/1C/licenses. Если лицензию получали из-под конкретной учётной записи, файл может лежать в её профиле: C:\Users\<имя>\AppData\Roaming\1C\licenses.

Аппаратная лицензия — это USB-ключ HASP, и файла на диске у неё нет: защита живёт в самом ключе, а на сервере стоят только драйвер и менеджер лицензий. Поэтому первый вопрос при поиске — какой у вас тип защиты. От ответа зависит, что копировать, куда смотреть и что ломается при переезде.

Программная лицензия на Windows-сервере: каталоги и имена файлов

Платформа 1С:Предприятие 8.3 ищет файлы лицензий в двух местах на компьютере:

КаталогПолный путь (Windows Server 2016 и новее)Кому доступна лицензия
Общий%ALLUSERSPROFILE%\1C\licenses → C:\ProgramData\1C\licensesВсем пользователям и службам на сервере
Пользовательский%APPDATA%\1C\licenses → C:\Users\<имя>\AppData\Roaming\1C\licensesТолько этой учётной записи

Папка ProgramData по умолчанию скрыта. Наберите путь прямо в адресной строке Проводника или включите показ скрытых элементов.

Имя файла лицензии — это дата и время получения, например 20240315104722.lic. В одной папке может лежать несколько файлов: клиентские лицензии на 5, 10, 20 рабочих мест и лицензия сервера. По имени их не различить — только по содержимому или через консоль кластера (об этом ниже).

Ловушка с профилем служебной учётной записи

Служба «Агент сервера 1С:Предприятия 8.3» обычно работает от пользователя USR1CV8. Если при активации лицензия ушла в пользовательский каталог, она окажется здесь:

C:\Users\USR1CV8\AppData\Roaming\1C\licenses

Если же служба запущена от системной учётной записи, профиль лежит в системной папке:

C:\Windows\System32\config\systemprofile\AppData\Roaming\1C\licenses

Отсюда частая ситуация: администратор открывает ProgramData, видит пустую папку и решает, что лицензии нет. А сервер её спокойно выдаёт из профиля службы.

💡 Для сервера держите все файлы .lic в общем каталоге C:\ProgramData\1C\licenses. Так их видит любая служба и любой администратор, а при смене учётной записи службы ничего не теряется.

Права на папку

Учётной записи, под которой работает служба 1С, нужен доступ на чтение и запись к каталогу лицензий. Проверка:

  1. Щёлкните правой кнопкой по папке licenses → Свойства → вкладка Безопасность.
  2. Найдите в списке USR1CV8 (или ту учётную запись, что указана на вкладке Вход в систему в свойствах службы).
  3. Если её нет — добавьте и дайте права на изменение.

Без прав на чтение сервер ведёт себя так, будто лицензии нет вовсе.

Лицензии в кластере 1С:Предприятия 8.3: как сервер их выдаёт

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

За это отвечают две настройки в консоли администрирования серверов:

  • 🔧 Свойства информационной базы → флажок «Выдача лицензий сервером 1С:Предприятия». Если он снят, база берёт лицензию только с клиентского компьютера.
  • 🔧 Требования назначения функциональности в свойствах рабочего сервера. Там есть тип объекта «Клиентская лицензия»: с его помощью можно указать, какой именно рабочий сервер кластера выдаёт лицензии. Это нужно, когда серверов несколько, а файлы .lic лежат только на одном.

Лицензия сервера (ключ на сам сервер 1С) лежит в том же каталоге, что и клиентские. Отдельной папки для неё нет.

Как узнать, из какого файла сеанс взял лицензию

Это самый точный способ найти «живую» лицензию — не гадать по папкам, а спросить у кластера. Утилита rac показывает лицензии сеансов:

cd "C:\Program Files\1cv8\8.3.25.1374\bin"
rac cluster list
rac session list --cluster=<uuid-кластера> --licenses

Номер версии в пути подставьте свой. Для rac должна работать служба сервера администрирования ras. В выводе по каждому сеансу будут тип лицензии (программная или ключ HASP), полный путь к файлу .lic или данные ключа и признак того, кем выдана лицензия: клиентом или сервером.

То же самое видно в графической консоли: откройте список сеансов информационной базы и посмотрите свойства конкретного сеанса — там есть сведения о лицензии.

💡 Если путь в выводе указывает на профиль USR1CV8 или systemprofile, перенесите файл в ProgramData в окно без пользователей и перепроверьте.

Аппаратные ключи HASP: что стоит на сервере

У аппаратной защиты нет файла лицензии. Всё, что есть на сервере, — это:

  • 🔌 Драйвер защиты Sentinel (HASP). После установки у него есть веб-панель по адресу http://localhost:1947. Там видно, определился ли ключ.
  • 🌐 Менеджер лицензий (HASP License Manager) — нужен для сетевых многопользовательских ключей. Он раздаёт лицензии по сети, по умолчанию работает на порту 475.
  • 📄 Файл nethasp.ini на клиентских компьютерах — подсказывает платформе, где искать менеджер лицензий.

Файл nethasp.ini лежит в каталоге conf установленной платформы, например C:\Program Files\1cv8\conf\nethasp.ini. Минимальная настройка, чтобы клиент не перебирал всю сеть широковещательными запросами:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled

Вместо 192.168.1.10 подставьте адрес сервера, куда воткнут ключ.

Серверный ключ HASP и клиентский многопользовательский — разные ключи. Серверный ключ нужен процессу сервера 1С и должен быть вставлен именно в тот компьютер, где работает сервер. Клиентский сетевой ключ может стоять на любой машине с менеджером лицензий.

Ключи и виртуальные машины

Если сервер 1С работает в виртуальной машине, USB-ключ пробрасывают в неё средствами гипервизора или через сетевой USB-концентратор. Проверка — та же панель http://localhost:1947 внутри гостевой ОС: ключ должен быть в списке.

Лицензирование на Linux и терминальном сервере

Linux

На Linux общий каталог программных лицензий — /var/1C/licenses. Сервер 1С обычно работает от пользователя usr1cv8, и у него должны быть права на эту папку:

ls -la /var/1C/licenses
sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses
sudo chmod 755 /var/1C/licenses

Имя группы проверьте командой id usr1cv8 — оно зависит от того, как ставили платформу. Пользовательский каталог лицензий находится в скрытой папке .1C домашнего каталога учётной записи. Для сервера, как и на Windows, лучше держать файлы в общем /var/1C/licenses.

Посмотреть установленные лицензии можно утилитой ring из комплекта платформы:

ring license list
ring license info --name <имя-лицензии>

Если команды отличаются в вашей версии, полный список подкоманд даёт ring license help.

Терминальный сервер

На терминальном сервере (RDP) пользователи работают на одном компьютере, поэтому клиентские лицензии кладут в общий каталог C:\ProgramData\1C\licenses этого терминального сервера. Лицензия, сохранённая в профиль одного пользователя, другим не достанется.

Если терминальный сервер и сервер 1С — разные машины, выбирайте одно место для клиентских лицензий: либо терминальный сервер, либо кластер 1С с включённой выдачей лицензий сервером. Держать половину там, половину здесь — путь к ошибкам «лицензия не найдена» у случайных пользователей.

СхемаГде лежат клиентские лицензииЧто настроить
Файловая база, рабочие местаНа каждом компьютере, ProgramDataНичего
Терминальный сервер + файловая базаProgramData терминального сервераПрава на папку
Клиент-сервер, лицензии на сервере 1СProgramData или /var/1C/licenses сервера 1СФлажок выдачи лицензий в свойствах базы
Сетевой ключ HASPВ ключеМенеджер лицензий + nethasp.ini

Перенос и резервная копия файлов лицензий

Файл .lic привязан к параметрам оборудования и операционной системы. Скопировать его на другой сервер и получить рабочую лицензию нельзя: на чужом железе файл не пройдёт проверку.

Что от этого следует для резервного копирования:

  1. Копию файлов .lic делать стоит. Она спасёт, если папку случайно удалили или переустановили платформу, а сервер остался тем же.
  2. Копия не спасёт при замене материнской платы, процессора, сетевой карты или переезде виртуальной машины на другой хост со сменой оборудования. Тут нужна повторная активация.
  3. Главное, что нужно хранить, — пин-коды и регистрационные данные из комплекта поставки: номер комплекта , основной и резервные пин-коды, реквизиты организации, которые вводили при активации.

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

Переезд на новый сервер

Порядок, при котором работа не встаёт:

  1. Найдите на старом сервере все файлы .lic и выясните через rac session list --licenses, какие из них реально используются.
  2. Подготовьте регистрационные данные и неиспользованные пин-коды.
  3. На новом сервере установите платформу той же или более новой версии и получите лицензии заново через окно активации. В клиент-серверном режиме мастер получения лицензии предлагает сохранить её на сервере 1С — выберите этот вариант.
  4. Проверьте, что файлы появились в ProgramData (или в /var/1C/licenses).
  5. Только после этого выводите старый сервер из работы.

Перенос файлов между папками на работающем сервере и перезапуск службы агента обрывают сеансы пользователей. Делайте это вне рабочего времени и предупредите людей заранее.

Что сохранить до замены сервера
Выполнено: 0 / 5

Ошибки поиска лицензии и что проверить

Типовое сообщение, когда платформа ничего не нашла:

Не обнаружен ключ защиты программы или полученная программная лицензия!

Порядок проверки от простого к сложному:

Диагностика: выберите симптом

Как найти все файлы лицензий на диске

Если непонятно, куда вообще ушли файлы, проще поискать их по всему диску. В PowerShell от имени администратора:

Get-ChildItem -Path C:\ -Filter *.lic -Recurse -ErrorAction SilentlyContinue |
  Where-Object { $_.DirectoryName -like "*1C*" } |
  Select-Object FullName, LastWriteTime

На Linux:

sudo find / -name "*.lic" -path "*1C*" 2>/dev/null

Дата изменения файла подсказывает, когда лицензию получили, и помогает сопоставить её с записями о пин-кодах.

Частые вопросы

Можно ли открыть файл .lic и посмотреть, на сколько он пользователей?
Файл текстовый только частично, и править его нельзя — после изменения он перестанет работать. Количество мест и тип лицензии смотрите через ring license info или в свойствах сеанса в консоли кластера.
Нужна ли отдельная лицензия на сервер, если клиентские лицензии уже лежат на сервере?
Да. Клиентские лицензии дают право пользователям подключаться, а лицензия сервера нужна для работы самого сервера 1С:Предприятия. Это разные продукты, хотя их файлы лежат в одной папке.
Что будет, если удалить файл .lic по ошибке?
Новые сеансы перестанут получать лицензию. Если есть копия файла и сервер не менялся, верните её в тот же каталог. Если копии нет — повторная активация с теми же регистрационными данными.
Работает ли программная лицензия после переустановки Windows на том же сервере?
Часто нет: среди параметров привязки есть и сведения об операционной системе. Перед переустановкой сохраните файлы и регистрационные данные, а после — проверьте лицензию и при необходимости активируйте её заново.
Можно ли держать лицензии в сетевой папке, общей для нескольких серверов?
Нет. Платформа ищет файлы только в локальных каталогах, а сам файл привязан к конкретному компьютеру.