Файлы программных лицензий 1С 8.3: поиск, проверка и восстановление

· 9 мин

Содержание

Программная лицензия 1С 8.3 в Windows лежит в папке C:\ProgramData\1C\licenses (для всех пользователей компьютера) или в %APPDATA%\1C\licenses (только для текущего пользователя). В Linux это /var/1C/licenses и ~/.1C/licenses. Файл имеет расширение .lic, а имя у него — длинная цепочка цифр вроде 20240312101530123.lic.

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

Где платформа 1С ищет файлы лицензий

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

СистемаДля всех пользователейДля одного пользователя
WindowsC:\ProgramData\1C\licensesC:\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-ключом искать файл бесполезно: лицензия зашита в сам ключ. Компьютеру нужны две вещи — драйвер ключа и, для сетевого ключа, менеджер лицензий.

Что проверить по порядку

  1. Драйвер. Ставится из дистрибутива платформы (haspdinst.exe) или пакетом Sentinel LDK. Признак установленного драйвера — открывается веб-панель http://localhost:1947. В ней на вкладке ключей видно, определился ли ключ.
  2. Тип ключа. Локальный ключ работает только на том компьютере, куда вставлен. Сетевой (многопользовательский) раздаёт лицензии по сети через службу HASP License Manager.
  3. Менеджер лицензий. Для сетевого ключа на компьютере с ключом должна работать служба HASP License Manager. Она слушает порт 475.
  4. Файл 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. Найдите конверт или электронный комплект с ПИН-кодами. Кроме основного там есть резервные.
  2. Запустите 1С. Платформа сама откроет окно получения лицензии, когда не найдёт действующую.
  3. Выберите вариант повторного получения лицензии: потребуется ПИН-код, которым активировали раньше, и новый из того же комплекта.
  4. Введите регистрационные данные ровно так, как при первой активации: название организации, ИНН, адрес. Расхождения в данных — частая причина отказа.
  5. Сохраните лицензию для всех пользователей компьютера.

Если резервные ПИН-коды кончились, комплект можно восстановить через центр лицензирования фирмы 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 по каждой покажет регистрационный номер, владельца и тип: основная поставка, клиентская на нужное число мест или лицензия сервера. Так легко найти файл, который остался после старого комплекта и уже не нужен.

Перед заменой оборудования сервера 1С
Выполнено: 0 / 5

Частые ошибки с файлом лицензии и их причины

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

Ещё две ошибки администраторов, которые встречаются постоянно:

  • ❌ Копируют .lic со старого сервера на новый и ждут, что заработает. Не заработает: файл привязан к железу.
  • ❌ Клонируют виртуальную машину с лицензией. У клона другие идентификаторы, лицензия на нём недействительна, а на исходной машине может «слететь», если менялись её параметры.

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

Можно ли хранить лицензии 1С в другой папке?
Платформа ищет файлы только в своих стандартных каталогах. Файл, положенный в произвольную папку, она не увидит. Держите лицензии в ProgramData\1C\licenses или /var/1C/licenses.
Сколько файлов должно быть в папке licenses?
По одному на каждый активированный ПИН-код. Основная поставка и две клиентские лицензии — три файла. Лишние старые файлы, которые не проходят проверку, мешать не будут, но запутают при подсчёте.
Можно ли удалить файл лицензии, чтобы перенести её на другой компьютер?
Удаление файла не освобождает лицензию. На новом компьютере её нужно активировать заново ПИН-кодом из комплекта, а старый файл просто перестанет использоваться.
Как понять, программная у меня лицензия или аппаратная?
Есть USB-ключ и установлен драйвер HASP — аппаратная. В каталоге licenses есть файлы .lic — программная. В клиент-серверном режиме тип занятой лицензии видно в свойствах сеанса в консоли кластера.
Нужен ли интернет для повторной активации?
Удобнее всего с интернетом: платформа отправит запрос сама. Без связи активацию проводят по телефону или через файл запроса, перенесённый на компьютер с доступом в интернет.