Ищем защиту 1С на компьютере: папка licenses, флешка HASP и сервер лицензий

· 9 мин

Содержание

Программный ключ лицензии 1С 8.3 — это файл с расширением .lic в папке C:\ProgramData\1C\licenses (лицензия для всех пользователей компьютера) или %APPDATA%\1C\licenses (лицензия только для текущей учётной записи). Аппаратный ключ — это USB-устройство HASP: лицензия зашита в самой «флешке», на диске её нет. Для сетевого HASP на клиенте лежит только файл настроек nethasp.ini с адресом компьютера, где стоит ключ.

Частое заблуждение — искать лицензию в папке с базой или на SQL-сервере. Ни файл 1Cv8.1CD, ни база СУБД лицензий не содержат. Перенос базы на другой компьютер лицензию не переносит, а копирование лицензии не трогает данные.

С какой защитой вы имеете дело: три вида ключей 1С

Начните с того, чтобы понять, какая у вас защита. От этого зависит, где искать и что вообще можно найти.

Вид защитыГде хранится лицензияЧто лежит на диске
🔑 Аппаратный локальный HASPВ USB-ключе, вставленном в этот компьютерТолько драйвер ключа
🌐 Аппаратный сетевой HASPВ USB-ключе на одном компьютере сетиМенеджер лицензий на сервере, nethasp.ini у клиентов
📄 Программная лицензия (пин-код)В файле .lic после активацииФайлы в папке licenses

Подсказки, как определить вид защиты без документов:

  • 📦 в коробке был конверт с пин-кодами — у вас программная лицензия;
  • 🔌 в USB-порту сервера или бухгалтера торчит ключ с маркировкой 1С — аппаратная;
  • 🖥️ на одном компьютере установлена служба HASP License Manager — сетевой ключ раздаёт лицензии остальным.

Посмотреть, какую лицензию взяла программа прямо сейчас, можно в самой 1С. Откройте меню (значок с тремя полосками или шестерёнка в заголовке окна) → Справка → О программе. В окне есть сведения об используемой лицензии: программная она или получена с ключа защиты.

Аппаратные ключи HASP: где физически находится лицензия

С USB-ключом всё просто: лицензия внутри устройства. Скопировать её в файл нельзя, и никакой «папки ключа» на компьютере не существует. На диске есть только драйвер, через который платформа общается с ключом.

Как проверить, что компьютер видит локальный ключ:

  1. Посмотрите на сам ключ: у исправного и опознанного устройства горит светодиод.
  2. Откройте Диспетчер устройств Windows. Ключ отображается в группе USB-устройств; если рядом жёлтый восклицательный знак — драйвер не установлен или повреждён.
  3. Если установлен драйвер Sentinel, откройте в браузере http://localhost:1947. В панели Sentinel Admin Control Center будет список ключей, подключённых к этому компьютеру.

Драйвер ключа ставится из дистрибутива платформы: в каталоге установки есть утилита установки драйвера HASP. Её же используют для переустановки, если ключ перестал определяться после обновления Windows.

Если ключ на виртуальной машине, проверьте проброс USB в гипервизоре. Ключ, который виден хосту, но не проброшен в гостевую систему, 1С не найдёт.

Файлы программных лицензий: точные пути по системам

Пин-код из конверта сам по себе не хранится нигде. При активации платформа отправляет его вместе с параметрами компьютера в центр лицензирования и получает обратно файл лицензии. Именно этот файл и есть «ключ».

Где 1С сохраняет файл .lic:

СистемаДля всех пользователейДля текущего пользователя
Windows Vista и новееC:\ProgramData\1C\licenses%APPDATA%\1C\licenses
Linux/var/1C/licensesв профиле пользователя

Выбор «для всех пользователей» или «для текущего» задаётся во время активации. Отсюда типичная ситуация: администратор активировал лицензию под своей учётной записью, а бухгалтер под своей видит ошибку. Файл существует, но лежит в чужом профиле.

Исправить такую ситуацию можно без новой активации. Привязка файла идёт к компьютеру, а не к учётной записи Windows, поэтому перенос на том же компьютере обычно срабатывает:

  1. Закройте 1С у всех пользователей этого компьютера.
  2. Откройте %APPDATA%\1C\licenses под учётной записью, где активировали лицензию.
  3. Скопируйте файлы .lic в C:\ProgramData\1C\licenses (папку создайте, если её нет; нужны права администратора).
  4. Запустите 1С под другим пользователем и проверьте окно О программе.

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

Как выглядит файл:

  • 📄 имя — длинное число, в нём закодированы дата и время получения лицензии;
  • 📏 размер — единицы килобайт;
  • 🔢 файлов может быть несколько: по одному на каждую активированную лицензию (основная поставка и дополнительные пользователи).

Папки ProgramData и AppData в проводнике скрыты. Проще всего вставить путь целиком в адресную строку проводника. Найти все лицензии на диске можно командой в PowerShell:

Get-ChildItem -Path C:\ -Filter *.lic -Recurse -ErrorAction SilentlyContinue |
  Select-Object FullName, Length, LastWriteTime

Или через обычную командную строку:

dir /s /b C:\*.lic

Расширение .lic используют и другие программы. В выдаче команды смотрите на файлы внутри каталогов 1C\licenses, остальные к 1С не относятся.

Если на компьютере установлены утилиты лицензирования 1С, список полученных лицензий можно вывести из командной строки: ring license list. Подробности о конкретной лицензии показывает ring license info с указанием имени лицензии из списка. Полный перечень параметров смотрите в справке ring license help.

Сетевой ключ и файл nethasp.ini

Сетевой HASP вставлен в один компьютер, обычно сервер. На нём работает служба HASP License Manager, которая раздаёт лицензии по сети. Клиенты ищут менеджер широковещательным запросом. В простой сети это работает само, в сети с несколькими подсетями, VPN или жёстким брандмауэром — нет.

Тогда адрес менеджера прописывают явно в nethasp.ini. Файл лежит в каталоге установленной версии платформы:

C:\Program Files\1cv8\<номер версии>\bin\conf\nethasp.ini

Пример рабочего содержимого:

[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled

Здесь 192.168.1.10 — адрес компьютера с ключом и менеджером лицензий. Менеджер работает по порту 475 (UDP), его нужно открыть в брандмауэре сервера.

После обновления платформы файл нужно переносить заново. Каждая версия ставится в свою папку с номером, и в новой папке nethasp.ini снова «пустой», с настройками по умолчанию. Клиенты перестают находить ключ ровно в день обновления — это первое, что стоит проверить.

Проверить, сколько лицензий выдал сетевой ключ и кому, помогает утилита Aladdin Monitor. Она показывает менеджеры лицензий в сети, подключённые ключи и занятые места.

Перезапуск службы HASP License Manager обрывает выдачу лицензий: пользователи, которые сейчас в 1С, могут получить ошибку и потерять несохранённые данные. Делайте это вне рабочего времени или после того, как все вышли из программы.

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

На терминальном сервере (RDP) лицензии ставят на сам сервер, а не на рабочие станции пользователей. Все сеансы запускают 1С на сервере, значит, и лицензию ищут там.

Что важно для терминального режима:

  • 👥 программную лицензию активируйте для всех пользователей — файл ляжет в C:\ProgramData\1C\licenses и будет доступен в любом сеансе;
  • 🔐 у пользователей должны быть права на чтение этой папки; если её права «закручивали» политиками, 1С не прочитает файл;
  • 🔌 аппаратный ключ вставляют в сам терминальный сервер или используют сетевой ключ с менеджером лицензий в той же сети;
  • 🧮 число одновременных сеансов 1С ограничено числом пользователей в лицензии, а не числом RDP-подключений.

Лицензия, активированная в профиле администратора, на терминальном сервере видна только ему. Отсюда частая картина: у админа 1С открывается, у всех остальных — ошибка о ненайденной лицензии.

Клиент-серверный вариант: где лицензии при работе с SQL

В клиент-серверной схеме есть два разных вида лицензий, и лежат они в разных местах.

Лицензия на сервер 1С:Предприятия. Её активируют или ставят ключом на компьютер, где работает служба агента сервера 1С. Программная лицензия сервера — такой же файл .lic в папке licenses на этом компьютере. Служба работает под отдельной учётной записью (часто USR1CV8), поэтому лицензию сервера активируют для всех пользователей, чтобы служба её видела.

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

Где лицензий точно нет:

  • ❌ на сервере СУБД (MS SQL Server, PostgreSQL), если он стоит отдельно от сервера 1С;
  • ❌ в самой информационной базе;
  • ❌ в файле списка баз ibases.v8i.

Если сервер 1С и СУБД стоят на одной машине, лицензии всё равно относятся к службе 1С, а не к SQL. Переустановка или перенос СУБД их не затрагивает.

Какие лицензии заняты сеансами, видно в консоли администрирования кластера: в списке сеансов есть сведения о лицензии каждого сеанса. Из командной строки то же самое выводит rac session list --licenses (нужен запущенный сервис ras).

Проверка и восстановление, если ключ «пропал»

Когда 1С не находит защиту, при запуске появляется сообщение Не обнаружен ключ защиты программы или полученная программная лицензия!. Причины зависят от вида ключа.

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

Про программные лицензии стоит помнить три вещи.

  1. Файл привязан к оборудованию. При активации в лицензию попадают параметры компьютера. Скопированный на другой компьютер файл работать не будет.
  2. Резервная копия всё же нужна. Если переустановили Windows без замены железа, возврат .lic в ту же папку обычно возвращает лицензию. Это быстрее, чем тратить резервный пин-код.
  3. Резервные пин-коды конечны. В конверте есть основной и резервные пин-коды для повторных активаций. Когда они закончатся, восстанавливать лицензию придётся через поставщика с документами о покупке.

Что сохранить заранее, пока всё работает:

Резервная копия защиты 1С
Выполнено: 0 / 5

Не удаляйте «лишние» файлы из папки licenses, пока не выяснили, какой лицензии каждый соответствует. Удалённую программную лицензию можно вернуть только из копии или повторной активацией.

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

Можно ли скопировать файл лицензии на новый компьютер?
Нет. Файл привязан к параметрам компьютера, на котором его активировали. На новом компьютере нужна активация резервным пин-кодом.
Где посмотреть номер лицензии, если конверт потерян?
Регистрационный номер есть в карточке регистрации и в документах поставщика. Открыть файл .lic и прочитать его как текст не получится: он предназначен для платформы, а не для человека.
Нужно ли переактивировать лицензию после обновления платформы?
Нет. Программная лицензия лежит вне каталога версии платформы и подходит новым версиям. После обновления проверяют только nethasp.ini, если используется сетевой ключ.
Можно ли держать программную и аппаратную лицензии на одном компьютере?
Да. Каждый сеанс берёт лицензию из любого доступного источника: из файла или с ключа. Так часто докупают пользователей программно при уже стоящем HASP.
Почему ключ виден в Диспетчере устройств, а 1С его не находит?
Чаще всего ключ не от того продукта: например, ключ от другой программы или от серверной лицензии вместо клиентской. Проверьте маркировку и сверьте её с комплектом поставки.