Достаем информацию из файла лицензии 1С

Автор: | 14.03.2017

Довольно часто бывает ситуация, когда владельцы программ 1C по той или иной причине теряют данные с регистрационным номером программы, пин-кодами и теми данными, что вводятся при получении лицензии (данные об организации). Без этой информации невозможно получить новую лицензию в случае ее утери, например для переустановки 1C на другой компьютер. До недавнего времени единственным способом получить вновь все эти данные можно было написав на адрес lic@1c.ru письмо, к которому нужно было прикрепить действующий файл лицензии 1C или всю имеющуюся информацию по программному продукту. В ответ сотрудники 1C высылают вам все необходимые данные. Однако ситуация изменилась в лучшую сторону благодаря утилите Ring. Данная утилита отныне поставляется вместе с технологической платформой 1С:Предприятие начиная с версии 8.3.8. И если у вас есть действующий файл лицензии (с расширением ".lic") то теперь можно достать из него всю необходимое информацию. Итак, давайте последовательно разберемся какие шаги для этого нужно предпринять.

Шаг 1. Устанавливаем пакеты Ring и License Tools

Данные утилиты находятся в папке ExtDst с установленной платформой 1C. Например, вот по такому пути:

 C:\Program Files (x86)\1cv8\8.3.8.2137\ExtDst

Нам необходимо установить оба пакета из данной папки. Нажимаем по очереди правой кнопкой мыши на каждую утилиту и затем "Установить". Пакет быстро откроется и закроется (моргнет окно). Никаких дополнительных информационных окон об успешности установки выведено не будет. Но на самом деле утилиты установятся в систему. Убедиться в этом можно зайдя в установленные программы Windows. Там они называются 1С:Enterprise License Tools и 1С:Enterprise Ring.

Ring License Tools

Шаг 2. Скачиваем и устанавливаем Java и Java Cryptography Extension (JCE)

Так как оболочкой для наших утилит является среда Java, то нам необходимо скачать нужные файлы. Для начала скачиваем и устанавливаем саму программу Java с официального сайта.

Затем скачиваем JCE, распаковываем фалы из скачанного архива и перемещаем с заменой в папку security, которая находится в папке с установленной Java.  Путь к папке для примера:

 C:\Program Files (x86)\Java\jre1.8.0_111\lib\security

Шаг 3. Устанавливаем переменную окружения

Теперь нам нужно задать специальную переменную окружения "JAVA_HOME". Для этого заходим в "Мой компьютер" –> "Свойства" –> "Дополнительные параметры системы безопасности" далее на вкладке "Дополнительно" –> "Переменные среды" нажимаем "Добавить". В качестве имени переменной пишем JAVA_HOME, а в качестве пути указываем полный путь до папки с установленной Java, например

 C:\Program Files\Java\jre1.8.0_73

Переменная java_home

После всех вышеперечисленных манипуляций появиться возможность использовать специальные команды для работы с лицензиями.

Шаг 4. Ищем на компьютере файлы лицензий

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

 C:/ProgramData/1C/licence

или

 D:\Documents and Settings\All Users\Application Data\1C\licenses

Также могут быть и другие места хранения, например, в зависимости от версии ОС Windows. По этому данные файлы проще найти через поиск. Открываем глобальный поиск Windows и вводим в поисковой строке "*.lic" без кавычек. У вас должен найтись файл вида "123456789.lic". Это и есть нужный нам файл лицензии 1C. Если нашлось несколько таких файлов не пугайтесь. Скорее всего это файлы оставшиеся от предыдущих активаций программы, так как на каждую новую активацию 1C создается один новый файл. Смотрим на дату создания файла. С самой свежей датой нам и нужен.

Шаг 5. Достаем информацию из файлов Lic

Утилита Ring на самом деле имеет множество различных команд для работы с файлами лицензий 1С, но для "выдирания" информации нам понадобятся только две из них. Это команды INFO и LIST. Остальные команды можно посмотреть на сайте информационной системы ИТС. Ссылку я приведу в конце статьи.

Для начала воспользуемся командой LIST. Именно она позволяет вывести регистрационный номер и текущий пин-код вашего ПП 1С. Собственно возникает вопрос "И куда мне вводить эту команду?". Ответ прост: все команды вводятся в командную строку Windows, т.е. в системную утилиту "cmd.exe".

Запускаем командную строку и вводим:

ring license list --path C:\ProgramData\1C\license

где "C:\ProgramData\1C\license" путь до папки с файлами лицензий

Результатом данной команды будет список в виде комбинации "пин-код – рег.номер", выведенные здесь же в командной строке, например вот так:

123456789012345-800111111

Первые 15 цифр это и есть ваш текущий пин-код, остальные цифры после дефиса это рег. номер программы. Если по указанному пути лежит несколько файлов, то по каждому из них будет выведена информация. Если нужна информация по конкретному файлу лицензии, то оставляем его в этой папке, остальные временно переносим в любое другое место. Внимание!!! Ни в коем случае не КОПИРУЙТЕ файлы лицензии в папки на этом же компьютере, т.е. нужно именно ПЕРЕМЕЩАТЬ их. Так как если вы их скопируете программа 1С решит, что вы запустили несколько ее дублей под одним пин-кодом. После этого лицензия заблокируется с предупреждением, что то вроде "недопустимо использование более одного пин-кода". Так что будьте внимательны, прецеденты были в моей практике.

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

ring license info --name 123456789012345-800111111 --path C:\ProgramData\1C\license

Как видите принцип здесь тот же только добавился атрибут --name. Правда 1С пошли здесь крайне изощренным методом и вместо того, что бы писать имя файла с лицензией, приходится писать комбинацию "пин-код – рег.номер". Лично я целых 2 часа "танцевал с бубном" прежде чем понять как использовать данную команду, т.к. на сайте ИТС не было конкретной информации об указании какого имени идет речь.

Примером результата данной команды будет:

Информация о пользователе:

Имя: Иванов

Отчество: Иван

Фамилия: Иванович

e-mail: post@yandex.ru

Компания: ООО "Ромашка"

Страна: Россия

Индекс: 614000

Регион/область: Пермский

Город: Пермь

Улица: Ленина

Дом: 100

Информация о продукте:

Описание: 1С:Предприятие 8. Лицензия на 5 рабочих мест (программная защита)

Дата комплектации: 00:00:00 09.09.2015

Регистрационный номер: 800111111G0

Код продукта: 0000000000006

UPD1.

Благодаря пользователю miller7777777 теперь нет необходимости использовать командную строку для получения данных (старая моя инструкция для 5 шага больше не актуальна). При помощи его утилиты LicDataExtractor регистрационные данные, извлеченные из файла лицензии, показываются в окне на экране, откуда могут быть сразу же скопированы или сохранены в текстовый файл. С инструкцией по работе с данной утилитой можно ознакомиться по ссылке:

https://github.com/miller7777777/LicDataExtractor

Вот и все. Теперь вы научились извлекать все необходимые данные из файла лицензий 1C. Стоит отметить, что данная процедура применима только к файлам лицензий применимых к программным продуктам версии ПРОФ. Извлечь таким образом информацию из лицензий базовых версий или аппаратных ключей не получится. Вся информация в данной статье подготовлена на основе данных взятых с сайта ИТС (здесь же можно почитать и про прочие команды для работы с файлом лицензии), а так же благодаря пользователю miller7777777.

28
Написать комментарий

avatar
12 Всего комментариев
16 Ответов на комментарии
2 Подписчиков
 
Самый редактируемый комментарий
Самый обсуждаемый комментарий
14 Авторов комментариев
АлександрMiller777meantraitorВладимирВиталий Последние прокомментировавшие
  Подписаться на рассылку  
Сначала новые Сначала старые По рейтингу
Уведомлять о
Николай
Гость
Николай

Спасибо! Сделал все по инструкции. Информацию о лицензии вытащил успешно.

Андрей
Гость
Андрей

Получилось! Автору респект и уважуха.

Pogromizd
Гость
Pogromizd

Это охрененно. Автор красавчик. Больше нигде этой инфы нет, на форумах говорят что это невозможно.

Евгений
Гость
Евгений

Полезная информация. Правильно я понимаю, что при покупке, например, лицензии на 20 рабочих мест, получаешь 1 код на файл лицензии для 20 рабочих мест и 20 кодов для 1 рабочего места? Если так, то информация о количестве рабочих мест будет одинаковой в файлах полученных с помощью этих кодов,- что в файле на 20 будет написано о 20 рабочих местах, что в файле на 1 будет написано о 20?

YURI
Гость
YURI

А есть ли способ сделать примерно так же с USB-hasp ключами?
Надо узнать какой регистрационный номер лицензии 1С Предприятие (карточки есть) к какому ключу относятся.

OldEye
Гость
OldEye

Попробовал Ваш способ при замене жесткого диска и переустановке винды... Указал путь к *.lic файлу, но получил ошибку: "[WARN ] com._1c.license.activator.storage.LicenseStorage - Пропускаем файл file0.lic. Ошибка декодирования файла".
Вернул старый HDD (т.е., вернул "как было"), но ошибка повторилась, при том что 1С на "как было" работает без запроса файла лицензии.
Может ещё какая хитрость есть? А то, сомневаюсь, что отыщу пин от дистрибутива...

Miller777
Гость
Miller777

>>file0.lic

Насколько я помню, такие файлы содержат лицензию базовой версии.

>>Стоит отметить, что данная процедура применима только к файлам лицензий применимых к программным продуктам версии ПРОФ. Извлечь таким образом информацию из лицензий базовых версий или аппаратных ключей не получится.

Алексей
Гость
Алексей

Не работает. Скопировал на другой компьютер 4 файла с программными лицензиями, данные о которых давно утеряны. при запуске команды ring license list --path e:\lic
Получаем такой результат:
[WARN ] com._1c.license.activator.storage.LicenseStorage - Пропускаем файл e:\lic\20150508134937.lic. Ошибка декодирования файла лицензии.
[WARN ] com._1c.license.activator.storage.LicenseStorage - Пропускаем файл e:\lic\20151001110248.lic. Ошибка декодирования файла лицензии.
[WARN ] com._1c.license.activator.storage.LicenseStorage - Пропускаем файл e:\lic\20151001111543.lic. Ошибка декодирования файла лицензии.
[WARN ] com._1c.license.activator.storage.LicenseStorage - Пропускаем файл e:\lic\20181122141043.lic. Ошибка декодирования файла лицензии.

Miller777
Гость
Miller777

Написал небольшую утилиту для облегчения извлечения информации с помощью ring.
Фактически - графическую обертку. Пользоваться командной строкой не надо. Информация выводится на экран в окне и сохраняется в текстовый файл рядом с файлом программной лицензии.

Тестируйте.

https://github.com/miller7777777/LicDataExtractor

Виталий
Гость
Виталий

Спасибо за вклад в общее дело. Утилиту испробовал, все работает. В использовании действительно гораздо проще чем из коммандной строки. Вы не против если я добавлю в свою статью ссылку на вашу инструкцию и утилиту?

Miller777
Гость
Miller777

Добавьте, я не против. Если будут замечания, пишите.

Даниил
Гость
Даниил

Добрый день.
все делл по инструкции два раза, но не хочет работать пишет ошибку:
"ring" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом."
В чем может быть проблема.
Винда 10

Владимир
Гость
Владимир

C:\ProgramData\1C\licenses
Файл: wtfwithmy.lic
Пин-код: [WARN ] com._1c.license.activator.storage.LicenseStorage
Рег.номер: Пропускаем файл C:\ProgramData\1C\licenses\wtfwithmy.lic. Ошибка декодирования файла лицензии.
[ERROR ] Неправильный вызов команды (для справки см. "ring help"): Параметр --name может иметь только одно значение. Указаны значения: "[WARN", "]", "com._1c.license.activator.storage.LicenseStorage", "-", "Пропускаем", "файл", "C:\ProgramData\1C\licenses\wtfwithmy.lic.", "Ошибка", "декодирования", "файла", "лицензии.".

Миллер не работает. Верните обратно старый способ, а этот оставьте как экспериментальный.

И да, нельзя копировать файлы .lic в пределах одного сервера, иначе слетит лицензия.

Miller777
Гость
Miller777

>>И да, нельзя копировать файлы .lic в пределах одного сервера, иначе слетит лицензия.

Насколько я помню - нельзя копировать только в те папки, где 1С может держать лицензии.

В C:\Temp, например, можно.

"Старый способ" и используется. LicDataExtractor - только графическая обертка над ring.

Я уберу ограничение на обработку только одного файла в директории, но пока не доходят руки.

Владимир
Гость
Владимир

Цитирую ответ официальной тп 1с:
"Файл лицензии на компьютере должен быть один.
Файл лицензии можно перемещать, но нельзя копировать."

Еще замечено: Символьные ссылки создавать можно, ибо это делает само по 1с. Если это имеет значение

Miller777
Гость
Miller777

Виталий, спасибо, что добавили информацию о LicDataExtractor. Но, наверное, лучше не убирать информацию о способе с ring и командной строкой. Все-таки он более "канонический".

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

meantraitor
Гость
meantraitor

верните старый пункт 5 - прога не работает

Miller777
Гость
Miller777

Шаг 5. Вводим нужные команды и получаем информацию о лицензиях Утилита Ring на самом деле имеет множество различных команд для работы с файлами лицензий 1С, но для "выдирания" информации нам понадобятся только две из них. Это команды INFO и LIST. Остальные команды можно посмотреть на сайте информационной системы ИТС. Ссылку я приведу в конце статьи. Для начала воспользуемся командой LIST. Именно она позволяет вывести регистрационный номер и текущий пин-код вашего ПП 1С. Собственно возникает вопрос "И куда мне вводить эту команду?". Ответ прост: все команды вводятся в командную строку Windows, т.е. в системную утилиту "cmd.exe". Запускаем командную строку и вводим:… Читать полностью »

Александр
Гость
Александр

у меня кстати тоже оболочка не сработала, положил один файл, пробелов в путях нет, файл видит, но пин и номер комплекта пустые (win8.1+jre1.8.0_201)
всю инфу достал из cmd