см. так же: Как активировать лицензии при помощи Ring
Иногда при работе с лицензиями нужно проверить их актуальность. И хотя активация лицензий сама по себе не слетает (во всяком случае, не замечал), иногда это нужно проверить... Или просто получить информацию, введенную при активации лицензии для последующей переактивации. Ring нам может помочь и тут.
Шаг 1: Вывести содержимое хранилища лицензий
set JAVA_HOME="C:\Program Files (x86)\Java\jre1.8.0_281"
set TOOLS="C:\Program Files (x86)\1C\1CE\components\1c-enterprise-ring-0.19.5+12-x86"
set DATE = date /t
chcp 1251
echo "%DATE% 1. List licenses" >> %TOOLS%\lic.log
call %TOOLS%\ring.cmd license list >> %TOOLS%\licenses.txt
pause
В результате работы скрипта получим файл licenses.txt в котором будут записаны имеющиеся в хранилище лицензии, запись будет в формате:
111111111111111-9999999999 (имя файла: "Первая лицензия.lic")
222222222222222-8888888888 (имя файла: "Вторая лицензия.lic")
333333333333333-7777777777 (имя файла: "Третья лицензия.lic")
111111111111111, 222222222222222, 333333333333333 - это пин-коды, использованные при активации лицензии;
9999999999, 8888888888, 7777777777 - а это регистрационные номера лицензий;
(Имя файла: "Первая лицензия.lic") - собственно, название файла лицензии, к которому относится соответствующий (слева) пин-код и рег.номер.
Шаг 2: Проверить актуальность лицензии
Документация по команде validate
set JAVA_HOME="C:\Program Files (x86)\Java\jre1.8.0_281"
set TOOLS="C:\Program Files (x86)\1C\1CE\components\1c-enterprise-ring-0.19.5+12-x86"
set DATE = date /t
set OPERATION=license validate
set FILELOG=license_validate.txt
chcp 1251
echo "%DATE% 2. License validate info" >> %TOOLS%\lic.log
echo "%DATE% =======================================================================" >> %TOOLS%\%FILELOG%
call %TOOLS%\ring.cmd %OPERATION% --name 111111111111111-9999999999 >> %TOOLS%\%FILELOG%
echo "=======================================================================" >> %TOOLS%\%FILELOG%
call %TOOLS%\ring.cmd %OPERATION% --name 222222222222222-8888888888 >> %TOOLS%\%FILELOG%
echo "=======================================================================" >> %TOOLS%\%FILELOG%
call %TOOLS%\ring.cmd %OPERATION% --name 333333333333333-7777777777 >> %TOOLS%\%FILELOG%
echo "КОНЕЦ =======================================================================" >> %TOOLS%\%FILELOG%
pause
На этом шаге нужно пин-коды и рег. номера лицензий, полученные в шаге 1, скопировать в скрипт в соответствующие на примере места. В результате работы получим файл license_validate.txt в котором будет записана информация в следующем формате:
"18.08.2021 ======================================================================="
Проверка лицензии "111111111111111-9999999999" (файл: "111111111111111-9999999999") выполнена успешно.
"======================================================================="
Проверка лицензии "222222222222222-8888888888" (файл: "222222222222222-8888888888") выполнена успешно.
"======================================================================="
Проверка лицензии "333333333333333-7777777777" (файл: "333333333333333-7777777777") выполнена успешно.
"КОНЕЦ ======================================================================="
Если лицензия не активна, то увидите соответствующую запись об этом: ошибка проверки лицензии и список того оборудования, которое было извлечено из компьютера после активации лицензии, из-за чего она и "сломалась". Однако! Есть интересный нюанс. Если Вы привязываете лицензию к сетевому хаспу, то лицензия будет активна на любом компьютере, которому виден этот хасп (если сделаны соответствующие настройки nethasp.ini), но при этом успешную проверку будете проходить только на том ПК, где активировали эти лицензии. На всех других компьютерах (читайте серверах) проверка будет завершаться ошибкой и будет выведен список оборудования и системы, которые были "удалены" после активации. Но лицензия будет активна!
И на десерт, представлю скрипт, который выводит всю ту информацию о лицензии, которую указывали при ее активации. Бывает нужно, если по каким-то причинам потеряли эти данные, а они необходимы для переактивации лицензий.
Получить информацию о владельце и продукте из лицензии
set JAVA_HOME="C:\Program Files (x86)\Java\jre1.8.0_281"
set TOOLS="C:\Program Files (x86)\1C\1CE\components\1c-enterprise-ring-0.19.5+12-x86"
set DATE = date /t
set OPERATION=license info
set FILELOG=license_info.txt
chcp 1251
echo "%DATE% 3. License info" >> %TOOLS%\lic.log
echo "%DATE% =======================================================================" >> %TOOLS%\%FILELOG%
call %TOOLS%\ring.cmd %OPERATION% --name 111111111111111-9999999999 >> %TOOLS%\%FILELOG%
echo "=======================================================================" >> %TOOLS%\%FILELOG%
call %TOOLS%\ring.cmd %OPERATION% --name 222222222222222-8888888888 >> %TOOLS%\%FILELOG%
echo "=======================================================================" >> %TOOLS%\%FILELOG%
call %TOOLS%\ring.cmd %OPERATION% --name 333333333333333-7777777777 >> %TOOLS%\%FILELOG%
echo "КОНЕЦ =======================================================================" >> %TOOLS%\%FILELOG%
pause
Как в предыдущем шаге, вставляем информацию о лицензии, полученную из хранилища (пин-код и рег. номер), в соответствующие места в скрипте и запускам. В результате получим файл license_info.txt со всей информацией по лицензии.