Где искать и чем проверить программную лицензию сервера 1С:Предприятия
Содержание
Программные лицензии сервера 1С хранятся не в реестре, а в виде файлов *.lic: на Windows — в папке C:\ProgramData\1C\licenses, на Linux — в /var/1C/licenses. Посмотреть, какая лицензия реально выдана, можно в консоли администрирования серверов (список сеансов и рабочих процессов), командой rac session list --licenses или утилитой ring license list.
Частое заблуждение — «лицензия активирована, значит, сервер её видит». Активацию нередко выполняют под учётной записью администратора и сохраняют файл только для текущего пользователя. Служба сервера работает под другим пользователем (обычно USR1CV8) и такой файл не находит. Поэтому проверять нужно в двух местах: что лежит на диске и что сервер фактически выдал сеансам.
Как устроено программное лицензирование сервера 1С
Программная лицензия — это файл, который создаётся при активации по пин-коду. Он привязан к параметрам конкретного компьютера: процессору, дискам, сетевым адаптерам, имени хоста. Перенести файл на другую машину нельзя — там он будет недействителен.
На сервере 1С обычно лежат лицензии двух видов:
- 🖥️ Серверная — нужна самому серверу 1С:Предприятия. Без неё рабочий процесс не запустит базу в клиент-серверном режиме. Бывает для 32-разрядного, 64-разрядного сервера и КОРП.
- 👥 Клиентские — на 1, 5, 10, 20, 50, 100, 300 или 500 рабочих мест. Если файлы лежат на сервере, сервер раздаёт их подключающимся пользователям, и на рабочих станциях ничего активировать не надо.
| Вид лицензии | Кто использует | Где видно, что она выдана |
|---|---|---|
| Серверная программная | Рабочий процесс rphost | Рабочие процессы в консоли, rac process list --licenses |
| Клиентская программная на сервере | Сеансы пользователей | Сеансы в консоли, rac session list --licenses |
| Клиентская на рабочей станции | Конкретный клиентский компьютер | Окно «О программе» на этом компьютере |
| Аппаратная (ключ HASP) | Сервер или клиенты через менеджер лицензий | Те же места, тип лицензии — HASP |
Каталоги, где сервер ищет файлы .lic
| ОС | Для всех пользователей | Для текущего пользователя |
|---|---|---|
| Windows | C:\ProgramData\1C\licenses | %APPDATA%\1C\licenses |
| Linux | /var/1C/licenses | в домашнем каталоге пользователя |
Для сервера правильное место — общий каталог. Папка ProgramData по умолчанию скрыта: включите показ скрытых файлов в Проводнике или вставьте путь прямо в адресную строку.
Сколько файлов .lic в папке, столько и активированных комплектов. Один комплект на 10 мест — это один файл, а не десять.
Само содержимое файла — текст, его можно открыть Блокнотом. Но разбирать его вручную бессмысленно: часть данных зашифрована, а правка файла делает лицензию недействительной. Для чтения параметров есть ring (ниже).
Проверка в консоли администрирования серверов 1С
Консоль показывает не файлы, а то, что сервер реально выдал. Это главный способ проверки: если лицензия здесь видна, она работает.
Клиентские лицензии в списке сеансов
- Запустите «Администрирование серверов 1С Предприятия» (оснастка
1CV8 Servers.msc). - Раскройте
Центральные серверы 1С:Предприятия → <имя сервера> → Кластеры → <кластер>. - Откройте узел «Сеансы».
- В контекстном меню списка переключите режим отображения на лицензии.
В этом режиме для каждого сеанса видно: тип лицензии (программная или HASP), имя файла лицензии, максимальное число пользователей, кем выдана — сервером или получена на клиентском компьютере.
Если у сеанса указано, что лицензия получена не сервером, значит, клиент взял её со своей машины. Серверный пакет клиентских лицензий при этом не расходуется.
Удобный приём для проверки после активации: подключитесь к базе с компьютера, где точно нет локальных лицензий, и найдите свой сеанс в списке. Если у него в поле файла указан путь к .lic в каталоге сервера, всё настроено верно. Если сеанс не создался и появилась ошибка о лицензии — переходите к разделу с ошибками ниже.
Серверная лицензия у рабочих процессов
Серверную лицензию держит рабочий процесс. Откройте узел «Рабочие процессы» и переключите его в тот же режим отображения лицензий. Пустое значение у работающего процесса при подключённых пользователях — повод проверить серверный файл .lic.
Настройки, которые влияют на выдачу
Два параметра часто забывают при проверке:
- ⚙️ Свойства информационной базы → флажок «Разрешить выдачу лицензий сервером 1С:Предприятия». Если он снят, сервер не выдаёт клиентские лицензии для этой базы, даже когда файлы на месте.
- 🧭 Требования назначения функциональности в свойствах рабочего сервера. Там есть объект «Клиентская лицензия». В кластере из нескольких серверов он определяет, какой из них раздаёт клиентские лицензии. Файлы должны лежать именно на этом сервере.
Что можно найти в реестре Windows, а что нельзя
Сами программные лицензии 1С в реестре не хранятся. Искать там пин-коды или «ключ активации» бесполезно. Но реестр помогает ответить на соседние вопросы, без которых диагностика буксует.
Откройте regedit и перейдите в раздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Найдите службу агента сервера — её имя начинается с 1C:Enterprise 8.3 Server Agent. В параметре ImagePath видно:
- 📂 путь к
ragent.exe— по нему понятно, какая версия платформы работает как служба; - 🔢 порты (
-port 1540,-regport 1541,-range 1560:1591); - 🗄️ каталог кластера после ключа
-d(обычноsrvinfo).
Параметр ObjectName того же раздела показывает учётную запись, под которой работает служба. Это и есть пользователь, которому нужен доступ на чтение к C:\ProgramData\1C\licenses.
Реестр смотрите только на чтение. Ручная правка ImagePath или удаление ветки службы ломает запуск сервера. Меняйте параметры службы через установщик платформы или штатную регистрацию ragent.
Если на сервере стоят две версии платформы, сравните путь в ImagePath с той, под которую активирована лицензия. Сама лицензия от версии 8.3.x не зависит, но путаница служб часто маскируется под «пропавшую лицензию».
Командная строка: rac и ring
Через командную строку удобно проверять сервер без графической консоли, например на Linux или по SSH.
rac — что выдано сейчас
Утилите rac нужен запущенный сервер администрирования ras (по умолчанию порт 1545). Порядок:
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
rac cluster list
rac session list --cluster=<UUID кластера> --licenses
rac process list --cluster=<UUID кластера> --licenses
Первая команда выводит идентификатор кластера. Вторая — лицензии всех сеансов, третья — лицензии рабочих процессов. В выводе ищите поля license-type (soft — программная, HASP — аппаратная), full-name (путь к файлу .lic) и max-users.
Если в кластере задан администратор, добавьте --cluster-user и --cluster-pwd. Полный список параметров покажет rac help session.
ring — что лежит на диске
ring входит в комплект «Утилита лицензирования» (license tools) и требует установленной Java. Она читает сами файлы:
ring license list
ring license info --name <имя лицензии из списка>
list выводит имена активированных лицензий в формате «пин-код-регистрационный номер» и файлы, где они лежат. info показывает подробности: на какой продукт выписана лицензия, на сколько рабочих мест, на кого зарегистрирована. Если ring license list видит лицензию, а rac по сеансам — нет, проблема не в файле, а в правах или настройках выдачи.
Запускайте ring от той же учётной записи, под которой работает служба, или с явным указанием каталога лицензий. Иначе утилита покажет лицензии текущего пользователя, а не общие.
Проверка на сервере Linux
На Linux графической консоли обычно нет, поэтому всё делается из терминала. Сначала убедитесь, что файлы на месте и служба может их прочитать:
ls -l /var/1C/licenses/
ps -o user= -C ragent
Первая команда покажет файлы .lic, их владельца и права. Вторая — пользователя, под которым запущен агент сервера (как правило, usr1cv8). Если файлы принадлежат root и закрыты от остальных, сервер их не прочитает.
Права выдавайте точечно, только на чтение:
sudo chgrp -R grp1cv8 /var/1C/licenses
sudo chmod -R g+r /var/1C/licenses
sudo chmod g+x /var/1C/licenses
Имя группы проверьте командой id usr1cv8 — оно зависит от способа установки платформы. После смены прав перезапускать службу обычно не нужно: файлы перечитываются при следующей выдаче лицензии. Если сеансы всё равно не получают лицензию, перезапустите службу сервера вне рабочего времени.
Дальше — те же rac и ring, что и на Windows. Утилиты лежат в каталоге установленной платформы, например /opt/1cv8/x86_64/8.3.xx.xxxx/.
Как проверить лицензию из базы 1С
Пользователю без доступа к серверу проще всего посмотреть, какую лицензию получил его сеанс.
- Откройте базу в режиме 1С:Предприятие.
- Откройте главное меню (кнопка с тремя полосками в заголовке окна) →
Справка → О программе. - В окне найдите строку о лицензии.
Там указано, какая лицензия получена (программная или ключ защиты) и откуда — с сервера 1С:Предприятия или локально с этого компьютера. Тот же пункт есть в Конфигураторе: Справка → О программе.
Этот способ показывает только лицензию текущего сеанса. Сколько мест занято всего и сколько свободно, видно в консоли: число сеансов с выданной сервером лицензией против max-users файла.
Пример расчёта свободных мест
На сервере два файла: на 10 и на 5 мест, итого 15. В консоли 13 сеансов пользователей с лицензией, выданной сервером. Свободно 2 места. Шестнадцатый вход выдаст ошибку, даже если двое ушли, но не закрыли 1С: их сеансы ещё держат лицензии.
Фоновые задания и сеансы консоли клиентскую лицензию не занимают, поэтому считайте только пользовательские сеансы.
Почему сервер не видит программную лицензию
Самая частая жалоба звучит так: Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия! Ниже — что проверить по симптому.
Перезапуск службы агента сервера обрывает сеансы всех пользователей, а у них теряются несохранённые данные. Делайте это вне рабочего времени и предупредите людей заранее.
Завершать зависшие сеансы тоже стоит аккуратно. Удаление сеанса в консоли закрывает его без сохранения — сначала убедитесь, что пользователь действительно вышел.
Не копируйте файлы .lic с другого сервера и не правьте их вручную — такая лицензия недействительна, а попытки «оживить» её не дадут ничего, кроме потери времени. Законный путь при смене железа — резервный пин-код из комплекта или обращение за новым пин-кодом к поставщику.
Частые вопросы
Можно ли одной серверной лицензией обслуживать несколько серверов в кластере?
Нужно ли активировать клиентские лицензии на каждом компьютере, если они уже на сервере?
Сколько раз можно восстановить программную лицензию?
Подходят ли программные лицензии для виртуальной машины?
Где посмотреть регистрационный номер лицензии без консоли?
ring license info --name <имя>. Номер также входит в имя лицензии, которое выводит ring license list.