gifts2017

Получение информации о списке установленных лицензий с помощью утилиты RING начиная с 8.3.8

Опубликовал Осипов Сергей (fixin) в раздел Администрирование - Системное

В версии платформы 8.3.8 наконец-то появился долгожданных инструмент для просмотра списка установленных на компьютере лицензий. К сожалению, он не user-friendly, но лучше что-то, чем ничего, администраторы теперь получили возможность с помощью скриптовых команд получить список установленных на компьютере лицензий 1С.

Речь идет об утилите ringс модулем lincense, описанных на ИТС здесь. Использовать ее можно и на более ранних релизах, установив отдельно от платформы.

Важное замечание: утилита пока что не работает для базовых версий программных продуктов 1с.

Отдельная установка библиотеки для более ранних релизов

Дистрибутивы утилиты ringнаходятся в двух файлах:

  1. 1c-enterprise-license-tools-0.1.0-20.x86.msi
  2. 1c-enterprise-ring-0.6.0-15.x86.msi

Они помещаются в каталог ExtDst при установке платформы. Решение - установить отдельно новую платформу и взять из нее эти библиотеки.

Инсталлируются обычным запуском, без всяких сообщений.

Если устанавливать библиотеки отдельно от платформы, они ставятся в каталог "C:\ProgramFiles (x86)\1C\1CE\ring".

 

Настройка JAVA  для работы библиотеки

Для работы библиотеки должна быть установлена java, скачать ее можно с http://java.com

Проблема с путем JAVA_HOME

Если попытаться запустить утилиту ring, может быть выдано сообщение вида:

 

Это значит, что нужно настроить путь к JAVA_HOME, решение легко гуглится, например здесь.

Установка библиотеки криптографии

Для работы утилиты ringнеобходимо установить библиотеку криптографии.

Для этого скачать архив библиотеки: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

Распаковать два jar-файла из архива local_policy.jar и US_export_policy.jar в каталог вида C:\ProgramFiles (x86)\Java\jre1.8.0_91\lib\security. При этом заменяются существующие файлы с более ограниченной криптографией.

 

Если не установить библиотеку, то утилита выдает ошибку вида:

Ошибка получения списка лицензий.

По причине: Ошибка при работе с хранилищем лицензий.

 По причине: Данный ключ не поддерживается данным крипто-провайдером. Необходимо

 установить крипто-провайдер, поддерживающий алгоритм AES 256 CBC с режимом шифр

ования PKCS5Padding (Например, Unlimited Strength Java(TM) Cryptography Extensio

n (JCE) Policy Files for the Java(TM) Platform, Standard Edition (Java SE) Runti

me Environment 7). На данный момент используется крипто-провайдер: SunJCE 1.8

  По причине: Некорректный ключ.

   По причине: Illegal key size

 

Просмотр лицензий

Команда ringдоступна из любого каталога, т.к. при установке прописывается в path.

 

Для просмотра списка лицензий испольуется команда ringlicenselist [--path <хранилище>].

Выдает список установленных лицензий, в правой части - номера лицензий, как они пишутся на коробках и в реганкетах.

 

 

Для информации об отдельной лицензии используется команда ringlicenseinfo [--name <имя>] [--path <хранилище>].

Выдает информацию о лицензии, нужно указывать полное имя лицензии:

 

 

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

 

Скрипт для получения списка всех лицензий

Готовый скрипт lic_list.cmdприкладываю к статье.

Его код выглядит так:

call ring license list > C:\1.txt

for /F "" %%i in (c:\1.txt) do  call ring license info --name %%i

@echo > C:\lic_list.txt 1s Lisense List

cmd /c for /F "" %%i in (c:\1.txt) do call ring >> C:\lic_list.txt license info --name %%i

pause

 

Сначала получается список лицензий в файл C:\1.txt

Затем файл построчно обрабатывается, и подробная информация со списком лицензий выводится на экран и в файл c:\lic_list.txt:


Обратите внимание, что ring – это тоже пакетный файл cmd, поэтому вызывается через CMD.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
down.zip
.zip 0,25Kb
25.04.16
9
.zip 0,25Kb 9 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. Евгений (BlackHarold) 27.10.16 11:09
Спасибо, помогло ооочень.
2. Осипов Сергей (fixin) 29.10.16 21:59
3. Кондрат (Bar) 04.11.16 14:47
ring license list - список лицензий пустой...
Может причина в том, что у меня УСБ ключ?
4. Осипов Сергей (fixin) 06.11.16 22:49
(3) да, USB ключи и базовые версии не определяются рингом.
5. Дмитрий (DeMonyan) 07.11.16 13:13
Вот только есть одна грабля в этом всём. Если есть нерабочие лицензии на сервере, то они так же попадут в этот список и по ним корректно отобразятся данные.

И вот плавно вытекающий вопрос. В описании ring написано, что проверяя лицензию командой ring license validate --name <имя лицензии> должен быть код возврата 0 если лицензия активна, и код ошибки если с лицензией какие-то проблемы, вот только сколько не мучаю эту утилиту у меня для любой лицензии 0. При этом для нерабочей лицензии вполне корректно выводятся различии в железе с тем компом на котором ставилась это лицензия в прошлый раз.

Для действующей лицензии получаю всё верно:

C:\Program Files\1C\1CE\ring>ring license validate --name <имя рабочей лицензии> && echo ErrorLevel = %errorlevel%
License check passed for the following license: "<имя рабочей лицензии>".
ErrorLevel = 0

А вот для нерабочей лицензии исходя из инструкции errorlevel должен быть – 1, но всё равно получается 0.

C:\Program Files\1C\1CE\ring>ring license validate --name <имя нерабочей лицензии> && echo ErrorLevel = %errorlevel%
Hardware removed:
- Phis Mem_0 : 27916816384
- OS Inst Date_0 : 1376822360
- OS_0 : Microsoft Windows Server 2012 Standard
- OS Ser_0 : 00184-20405-06597-AA231
- Sys Name_0 : S-IC1C
- OS Ver_0 : 6.2
- CPU_0 : CPU0, Intel64 Family 6 Model 45 Stepping 7, 64, 64, 1F8BFBFF000206D7, 11527, None
- CPU_1 : CPU1, Intel64 Family 6 Model 45 Stepping 7, 64, 64, 1F8BFBFF000206D7, 11527, None
- DISK_0 : 512, 63, 13054, 255, 3328770, 209712510, 107372805120

ErrorLevel = 0
6. vasja ivanov (vasja_yar) 25.11.16 10:51
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа