Файлы программных лицензий 1С 8.3: поиск, проверка и восстановление
Содержание
Программная лицензия 1С 8.3 в Windows лежит в папке C:\ProgramData\1C\licenses (для всех пользователей компьютера) или в %APPDATA%\1C\licenses (только для текущего пользователя). В Linux это /var/1C/licenses и ~/.1C/licenses. Файл имеет расширение .lic, а имя у него — длинная цепочка цифр вроде 20240312101530123.lic.
Аппаратная лицензия файла не имеет вовсе: она «живёт» в USB-ключе HASP. Поэтому сначала выясните, какая защита у вас стоит, а уже потом ищите, проверяйте или восстанавливайте лицензию.
Где платформа 1С ищет файлы лицензий
При запуске платформа просматривает несколько каталогов подряд. Достаточно, чтобы подходящий файл нашёлся в любом из них.
| Система | Для всех пользователей | Для одного пользователя |
|---|---|---|
| Windows | C:\ProgramData\1C\licenses | C:\Users\<имя>\AppData\Roaming\1C\licenses |
| Linux | /var/1C/licenses | /home/<имя>/.1C/licenses |
Что полезно знать о самих файлах:
- 📄 Один файл — одна активированная лицензия (один ПИН-код). Купили основную поставку и две клиентские на 5 мест — в каталоге будет три файла.
- 🔒 Файл привязан к параметрам компьютера: процессору, диску, сетевой карте, имени машины, операционной системе. На другой машине он не работает .
- 📝 Внутри — текст с регистрационными данными и подписью. Править его вручную нельзя: любая правка делает лицензию недействительной.
- 👁 Папки
ProgramDataиAppDataпо умолчанию скрыты в проводнике. Включите показ скрытых элементов или вставьте путь прямо в адресную строку.
Если при активации лицензию сохранили «для текущего пользователя», другой пользователь того же компьютера её не увидит и получит сообщение об отсутствии лицензии. Для общих машин и терминальных серверов держите файлы в ProgramData.
Файл лицензии 1С на сервере и клиенте Windows
Рабочая станция в файловом режиме
На обычном компьютере бухгалтера с файловой базой лицензия почти всегда лежит в C:\ProgramData\1C\licenses. Если там пусто, проверьте профиль пользователя: наберите в адресной строке проводника %APPDATA%\1C\licenses и нажмите Enter.
Сервер 1С:Предприятия
На сервере лицензии хранятся в тех же каталогах, но есть нюанс. Служба агента сервера обычно работает от пользователя USR1CV8. Если лицензию активировали под этим пользователем «для себя», файл окажется в его профиле: C:\Users\USR1CV8\AppData\Roaming\1C\licenses. Администратор, зашедший под своей учётной записью, туда не заглянет и решит, что файла нет.
Лицензию на сервер 1С и клиентские лицензии, которые раздаёт сервер, держите в C:\ProgramData\1C\licenses — так их видят и служба, и любой администратор.
В клиент-серверном режиме клиентские лицензии можно ставить не на каждую рабочую станцию, а на сам сервер 1С. Тогда клиент при входе получает лицензию от кластера. Файлы этих клиентских лицензий лежат на сервере в том же каталоге licenses.
Терминальный сервер
На терминальном сервере (RDP) с файловыми базами одна программная клиентская лицензия на N мест обслуживает всех, кто работает на этой машине. Файл должен лежать в C:\ProgramData\1C\licenses, иначе каждый новый пользователь будет видеть окно получения лицензии.
Учитывайте две вещи:
- 👥 Число мест в файле — это число одновременных сеансов 1С на сервере, а не число учётных записей Windows.
- 🔁 Если терминальных серверов несколько и пользователей перебрасывает балансировщик, лицензия нужна на каждом узле, либо клиентские лицензии ставят на сервер 1С, и тогда узлы берут места из общего пула.
Быстрый поиск всех .lic на диске
Если лицензию сохраняли в нестандартное место, найдите её поиском. В командной строке:
dir C:\*.lic /s /b
Или в PowerShell — так меньше мусора от ошибок доступа:
Get-ChildItem -Path C:\ -Filter *.lic -Recurse -ErrorAction SilentlyContinue |
Select-Object FullName, LastWriteTime
Расширение .lic используют и другие программы. Файлы 1С узнаются по имени из цифр и по пути, где есть 1C.
Расположение лицензий 1С в Linux
На сервере Linux общий каталог — /var/1C/licenses. Личный каталог пользователя — ~/.1C/licenses в домашней папке. Для сервера 1С, который работает от системного пользователя usr1cv8, правильный выбор — общий каталог.
Проверить, что файлы на месте и доступны службе:
ls -l /var/1C/licenses/
sudo -u usr1cv8 ls /var/1C/licenses/
Если вторая команда отвечает отказом в доступе, служба тоже не сможет прочитать лицензию. Верните права:
sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses
sudo chmod 755 /var/1C/licenses
sudo chmod 644 /var/1C/licenses/*.lic
Найти разбросанные по системе файлы:
sudo find / -name "*.lic" -path "*1C*" 2>/dev/null
Привязка к оборудованию в Linux строже, чем кажется. Смена имени хоста, замена сетевого интерфейса или перенос виртуальной машины на другой гипервизор могут сделать файл недействительным. Перед такими работами выпишите ПИН-коды и сохраните копию каталога.
Аппаратный ключ HASP: где «лежит» лицензия и как его проверить
С USB-ключом искать файл бесполезно: лицензия зашита в сам ключ. Компьютеру нужны две вещи — драйвер ключа и, для сетевого ключа, менеджер лицензий.
Что проверить по порядку
- Драйвер. Ставится из дистрибутива платформы (
haspdinst.exe) или пакетом Sentinel LDK. Признак установленного драйвера — открывается веб-панельhttp://localhost:1947. В ней на вкладке ключей видно, определился ли ключ. - Тип ключа. Локальный ключ работает только на том компьютере, куда вставлен. Сетевой (многопользовательский) раздаёт лицензии по сети через службу HASP License Manager.
- Менеджер лицензий. Для сетевого ключа на компьютере с ключом должна работать служба HASP License Manager. Она слушает порт 475.
- Файл
nethasp.ini. Лежит в каталогеconfпапки установки платформы, напримерC:\Program Files\1cv8\conf\nethasp.ini. В нём клиенту указывают адрес компьютера с ключом.
Пример настройки, когда ключ стоит на машине 192.168.1.10:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
Отключённый широковещательный поиск ускоряет получение лицензии в больших сетях и убирает случайные ошибки, когда клиент «не дозвался» ключа.
Если ключ определяется в панели localhost:1947, но 1С его не видит, проверьте брандмауэр: порт 475 (UDP и TCP) должен быть открыт между клиентом и машиной с ключом.
Как восстановить утерянный или повреждённый файл лицензии
Файл лицензии нельзя «скачать заново» или скопировать с другого компьютера. Способов вернуть лицензию три.
| Способ | Когда подходит | Что нужно |
|---|---|---|
| Вернуть файл из резервной копии | Файл удалили, железо и ОС не менялись | Копия каталога licenses |
| Повторная активация | Сменили комплектующие, переустановили ОС | Регистрационный номер, использованный и новый ПИН-код |
| Обращение в центр лицензирования | Резервные ПИН-коды закончились | Регистрационная анкета, данные владельца |
Из резервной копии
Скопируйте .lic обратно в тот же каталог, откуда он пропал, и перезапустите 1С. Для сервера перезапустите службу агента — перезапуск оборвёт сеансы всех пользователей, делайте это вне рабочего времени. Копия сработает, только если компьютер прежний: та же ОС, то же оборудование, то же имя.
Повторная активация
- Найдите конверт или электронный комплект с ПИН-кодами. Кроме основного там есть резервные.
- Запустите 1С. Платформа сама откроет окно получения лицензии, когда не найдёт действующую.
- Выберите вариант повторного получения лицензии: потребуется ПИН-код, которым активировали раньше, и новый из того же комплекта.
- Введите регистрационные данные ровно так, как при первой активации: название организации, ИНН, адрес. Расхождения в данных — частая причина отказа.
- Сохраните лицензию для всех пользователей компьютера.
Если резервные ПИН-коды кончились, комплект можно восстановить через центр лицензирования фирмы 1С по регистрационной анкете. Обычно это делают через обслуживающего партнёра.
Привычка, которая экономит ПИН-коды
После каждой активации:
- 💾 копируйте каталог
licensesв архив вместе с датой и именем сервера; - 🗒 записывайте, каким ПИН-кодом активирован каждый файл;
- 🖥 перед заменой диска, сетевой карты или переустановкой ОС знайте, что лицензию придётся активировать заново.
Проверка активных лицензий через консоль и утилиты
Консоль администрирования серверов 1С
В клиент-серверном варианте откройте консоль, разверните кластер и перейдите в список сеансов. В свойствах сеанса есть сведения о лицензии: программная или аппаратная, имя файла, с какого компьютера она выдана. Так видно, какая лицензия занята каждым пользователем и не берёт ли кто-то лицензию со своего ноутбука вместо сервера.
Утилита rac
То же самое из командной строки. Сначала узнайте идентификатор кластера, затем выведите сеансы с лицензиями:
rac cluster list
rac session list --cluster=<ид_кластера> --licenses
В выводе для каждого сеанса будет путь к файлу лицензии и её полное представление. Удобно, когда нужно быстро посчитать, сколько мест реально занято. Перед запуском rac должна работать служба ras.
Утилита ring
Утилита ring из состава платформы работает с файлами программных лицензий напрямую: показывает список, сведения о лицензии и проверяет её на текущем компьютере.
ring license list
ring license info --name <имя_лицензии>
ring license validate --name <имя_лицензии>
Команда validate сразу отвечает на главный вопрос: подходит ли файл этому компьютеру после смены железа. Если параметры не совпадают, лицензия будет признана недействительной ещё до запуска 1С. Остальные возможности утилиты — в справке ring license help.
Как понять, какой файл к какой лицензии относится
Имя файла из цифр ничего не говорит о содержимом. Чтобы разобраться, что лежит в каталоге, выполните ring license list — утилита выведет имена всех лицензий, а ring license info по каждой покажет регистрационный номер, владельца и тип: основная поставка, клиентская на нужное число мест или лицензия сервера. Так легко найти файл, который остался после старого комплекта и уже не нужен.
Частые ошибки с файлом лицензии и их причины
ProgramData и AppData, затем ring license validate. Для ключа HASP — драйвер и nethasp.ini.localhost:1947 и список сеансов в консоли кластера.NH_SERVER_ADDR и отключите NH_USE_BROADCAST.Ещё две ошибки администраторов, которые встречаются постоянно:
- ❌ Копируют
.licсо старого сервера на новый и ждут, что заработает. Не заработает: файл привязан к железу. - ❌ Клонируют виртуальную машину с лицензией. У клона другие идентификаторы, лицензия на нём недействительна, а на исходной машине может «слететь», если менялись её параметры.
Частые вопросы
Можно ли хранить лицензии 1С в другой папке?
ProgramData\1C\licenses или /var/1C/licenses.Сколько файлов должно быть в папке licenses?
Можно ли удалить файл лицензии, чтобы перенести её на другой компьютер?
Как понять, программная у меня лицензия или аппаратная?
licenses есть файлы .lic — программная. В клиент-серверном режиме тип занятой лицензии видно в свойствах сеанса в консоли кластера.