В версии платформы 8.3.8 наконец-то появился долгожданных инструмент для просмотра списка установленных на компьютере лицензий. К сожалению, он не user-friendly, но лучше что-то, чем ничего, администраторы теперь получили возможность с помощью скриптовых команд получить список установленных на компьютере лицензий 1С.
Речь идет об утилите ring с модулем lincense, описанных на ИТС здесь. Использовать ее можно и на более ранних релизах, установив отдельно от платформы.
Важное замечание: утилита пока что не работает для базовых версий программных продуктов 1с.
Дистрибутивы утилиты ring находятся в двух файлах:
Они помещаются в каталог ExtDst при установке платформы. Решение - установить отдельно новую платформу и взять из нее эти библиотеки.
Инсталлируются обычным запуском, без всяких сообщений.
Если устанавливать библиотеки отдельно от платформы, они ставятся в каталог "C:\Program Files (x86)\1C\1CE\ring".
Для работы библиотеки должна быть установлена java, скачать ее можно с http://java.com
Если попытаться запустить утилиту 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:\Program Files (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.
Для просмотра списка лицензий испольуется команда ring license list [--path <хранилище>].
Выдает список установленных лицензий, в правой части - номера лицензий, как они пишутся на коробках и в реганкетах.
Для информации об отдельной лицензии используется команда ring license info [--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.