• Оживляем клиентскую функцию Remote Control у старого контроллера IBM RSA-II или сказ о том, как запустить старые Java-апплеты в Internet Explorer 11 с определённой версией Java

    В этой маленькой заметке мы снова поговорим о древностях. На этот раз речь пойдёт о "бородатом" контроллере управления IBM Remote Supervisor Adapter II Refresh 1, у которого имеется функция удалённого доступа к консоли сервера через механизм Remote Control. В старо-древние глиняные времена на Windows-системе с Internet Explorer и предустановленной Java Runtime Environment (JRE) особых проблем с использованием этой функции у меня не возникало. С тех пор прошло немало времени, и вот мне снова потребовалось воспользоваться функцией Remote Control с клиентской машины на базе ОС Windows 10 c актуальной версией Internet Explorer 11 и предустановленной в эту систему Java 8. Оказалось, что это задача не тривиальна, и для получения желаемого результата в такой клиентской системе, как у меня, потребуется выполнить ряд манипуляций.

    Читать далее...

  • Создание keytab-файла, содержащего несколько разных Kerberos Principal

    Разные службы и приложения, работающие в Linux и использующие аутентификацию Kerberos, например в связке с контроллерами домена Active Directory (AD), используют для механизмов этой самой аутентификации специальный keytab-файл, который содержит хеши пароля доменной учётной записи пользователя, с которым ассоциирована та или иная служба в Linux-системе (как с Kerberos Principal). И вполне типичной и распространённой практикой является создание отдельного keytab-файла для каждого принципала Kerberos. То есть, как правило, прослеживается такая логика: отдельная учётная запись служебного пользователя в AD, для которого зарегистрировано конкретное имя службы ServicePrincipalName (SPN) => отдельный keytab-файл, сопоставимый с записью SPN в AD.

    Читать далее...

  • HP iLO2 - Решаем проблемы использования ISO образа смонтированного через Java- апплет в веб-интерфейсе iLO

    Как известно, при наличии активированной лицензии HP Integrated Lights-Out (iLO) Advanced в веб-интерфейсе iLO2 имеется возможность удалённого монтирования ISO образов в качестве носителя в виртуальном DVD приводе, с помощью которого можно, например, выполнять удалённую установку операционной системы или запускать всевозможные загрузочные утилиты для прошивки и тестирования аппаратных компонент сервера. При этом для выполнения монтирования используется Java-апплет со всеми вытекающими отсюда последствиями.

    Читать далее...

  • Развёртывание и настройка oVirt 4.0. Часть 9. Интеграция oVirt с LDAP-каталогом Microsoft Active Directory

    imageВ этой и последующей части серии записей о настройке среды управления виртуализацией oVirt 4.0 будет рассмотрен практический пример интеграции функционала разграничения прав доступа oVirt с внешним LDAP-каталогом на базе домена Microsoft Active Directory. Сначала мы пошагово рассмотрим процедуру настройки профиля интеграции oVirt c LDAP-каталогом, а затем, в отдельной заметке, рассмотрим настройку автоматической аутентификации пользователей на веб-порталах oVirt, настроив Single sign-on (SSO) на базе протокола Kerberos. Читать далее...

  • Развёртывание и настройка oVirt 4.0. Часть 2. Замена сертификата веб-сервера oVirt Engine

    imageПосле развёртывания oVirt Engine, при попытке подключения к веб-порталам oVirt мы каждый раз будем получать предупреждение системы безопасности веб-браузера о том, что веб-узел имеет сертификат, которому нет доверия. Это происходит из-за того, что на веб-узле oVirt используется сертификат выданный локальным Центром сертификации (ЦС), который был развёрнут в ходе установки oVirt Engine. Для того, чтобы избавиться от этих предупреждений, а также для того чтобы веб-браузер корректно работал со всеми функциями, доступными на веб-порталах oVirt, нам потребуется сделать так, чтобы веб-браузер доверял SSL сертификату веб-сервера oVirt. Решить этот вопрос можно двумя способами.

    Читать далее...

  • Мониторинг FC коммутаторов Brocade с помощью HP B-series SAN Network Advisor 12.4 и Microsoft System Center 2012 R2 Operations Manager

    imageВ этой заметке мы рассмотрим пример настройки мониторинга оптических коммутаторов фирмы Brocade с помощью Microsoft System Center 2012 R2 Operations Manager (SCOM).

    Предлагаемая Brocade архитектура мониторинга коммутаторов такова, что нам потребуется на выделенном сервере установить и настроить ПО Brocade Network Advisor, подключить к этому ПО наши коммутаторы, и затем интегрировать пакет управления (Management Pack), поставляемый в комплекте с этим ПО, c одним из наших сервером управления SCOM. Таким образом, агент SCOM, установленный на этом выделенном сервере будет отчитываться перед сервером управления SCOM исходя из информации, получаемой из Brocade Network Advisor.

    Читать далее...

  • Централизованный сбор Windows Event Logs с помощью ELK (Elasticsearch - Logstash - Kibana)

    Search-48Передо мной встала задача организовать сбор Windows Event Logs в некое единое хранилище с удобным поиском/фильтрацией/возможно даже визуализацией. После некоторого поиска в интернете я натолкнулся на чудесный стек технологий от Elasticsearch.org - связка ELK (Elasticsearch - Logstash - Kibana). Все продукты являются freeware и распространяются как в виде архива с программой, так и в виде пакетов deb и rpm. 

    Что такое ELK?

    Elasticsearch

    Elasticsearch - это поисковый сервер и хранилище документов основанное на Lucene, использующее RESTful интерфейс и JSON-схему для документов. 

    Logstash

    Logstash – это утилита для управления событиями и логами. Имеет богатый функционал для их получения, парсинга и перенаправления\хранения.

    Kibana

    Kibana – это веб-приложение для визуализации и поиска логов и прочих данных имеющих отметку времени.

    В данной статье я постараюсь описать некий HOW TO для установки одного сервера на базе Ubuntu Server 14.04, настройки на нем стека ELK, а так же настройки клиента nxlog для трансляции логов на сервер. Хочу однако отметить что данный стек технологий можно использовать гораздо шире. Какие логи вы будете пересылать, парсить, хранить и в последствии пользоваться поиском\визуализацией по ним зависит только от вашей фантазии. По использованию данных технологий есть множество вебинаров на сайте http://www.elasticsearch.org/videos/.

    Читать далее...

  • SCCM 2007 R2 – развёртывание Java Runtime Environment (JRE)

    Просматривая отчет SCCM ‘Count of all instances of software registered with Add or Remove Programs’ обратил внимание на огромный букет разных версий Java Runtime Environment (JRE), установленных на разных клиентских системах. Выяснилось, что на некоторых клиентах установлено по несколько экземпляров JRE, как разных веток, так и их подверсий. Погуглив, почитав гневные выплески в адрес разработчиков и поигравшись с дистрибутивами JRE, стало понятно, что развернуть актуальную версию JRE параллельно удалив при этом все старые версии – задача не совсем тривиальная. Дополнительно нужно решить проблему отключения механизма обновления, который приводит в замешательство пользователей, периодически выбрасывая окно UAC при попытке произвести авто-обновление JRE.

    Для начала нам необходимо скачать последнюю версию (на момент написания заметки это версия 6 Update 23) offline-инсталлятора с адреса Java Runtime Environment Download

    Итак, у нас имеются два файла:
    jre-6u23-windows-i586.exe – для 32-битных версий Windows
    jre-6u23-windows-x64.exe – для 64-битных версий Windows

    Для развёртывания через SCCM, так же как и через другие механизмы типа GPO, нам понадобиться файлы MSI инсталлятора. О том, как их извлечь описано в статье How do I deploy Java using Active Directory across a network?
    Запускаем полученный *.exe дистрибутив (сам процесс установки при этом выполнять не нужно)…

    image

    …переходим в служебный каталог, куда после запуска дистрибутив JRE распаковывает свои файлы (в зависимости от используемой ОС каталог может различаться):

    для Windows Vista/7 - C:Users<user>AppDataLocalLowSunJavajre1.6.0_23
    для Windows XP - C:Documents and Settings<user>Local SettingsApplication DataSunJava jre1.6.0_23

    Копируем из этого каталога файлы jre1.6.0_23.msi и Data1.cab и после этого запущенное приложение программы установки JRE можно закрывать (оно нам больше не понадобиться).

    Так как *.cab файл в составе дистрибутива имеет цифровую подпись, перед началом развёртывания необходимо удостовериться в том, что на целевых клиентских системах обновлено хранилище корневых сертификатов. В противном случае, мы можем столкнуться с проблемой, описанной в заметке SCCM – Обновление корневых сертификатов.

    Файлы необходимые для установки новой версии мы получили, но как быть с множеством уже установленных экземпляров старых версий? Для того чтобы произвести их удаление перед установкой новой версии создадим отдельный пакетный файл jre1.6.0_23_UninstallAll.bat следующего содержания:

    rem Java(TM) 6 Update 23
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216023FF} /qn
    rem Java(TM) 6 Update 23 (64-bit)
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F86416023FF} /qn
    rem Java(TM) 6 Update 22
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216022FF} /qn
    rem Java(TM) 6 Update 21
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216021FF} /qn
    rem Java(TM) 6 Update 20
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216020FF} /qn
    rem Java(TM) 6 Update 19
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216019FF} /qn
    rem Java(TM) 6 Update 18
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216018F0} /qn
    rem Java(TM) 6 Update 17
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216017FF} /qn
    rem Java(TM) 6 Update 17 (64-bit)
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F86416017FF} /qn
    rem Java(TM) 6 Update 16
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216016FF} /qn
    rem Java(TM) 6 Update 15
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216015FF} /qn
    rem Java(TM) 6 Update 14
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216014FF} /qn
    rem Java(TM) 6 Update 13
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216013FF} /qn
    rem Java(TM) 6 Update 12
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216012FF} /qn
    rem Java(TM) 6 Update 11
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216011FF} /qn
    rem Java(TM) 6 Update 10
    msiexec.exe /x {26A24AE4-039D-4CA4-87B4-2F83216010FF} /qn

    rem =====================================
    rem Java(TM) 6 Update 7
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160070} /qn
    rem Java(TM) 6 Update 6
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160060} /qn
    rem Java(TM) 6 Update 5
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160050} /qn
    rem Java(TM) 6 Update 4
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160040} /qn
    rem Java(TM) 6 Update 3
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160030} /qn
    rem Java(TM) 6 Update 2
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160020} /qn
    rem Java(TM) SE Runtime Environment 6 Update 1
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160010} /qn
    rem Java(TM) SE Runtime Environment 6
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0160000} /qn

    rem =====================================
    rem JRE Runtime Environment 5.0 Update 21
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150210} /qn
    rem JRE Runtime Environment 5.0 Update 20
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150200} /qn
    rem JRE Runtime Environment 5.0 Update 19
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150190} /qn
    rem JRE Runtime Environment 5.0 Update 18
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150180} /qn
    rem JRE Runtime Environment 5.0 Update 17
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150170} /qn
    rem JRE Runtime Environment 5.0 Update 16
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150160} /qn
    rem J2SE Runtime Environment 5.0 Update 15
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150150} /qn
    rem JRE Runtime Environment 5.0 Update 14
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150140} /qn
    rem JRE Runtime Environment 5.0 Update 13
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150130} /qn
    rem J2SE Runtime Environment 5.0 Update 12
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150120} /qn
    rem JRE Runtime Environment 5.0 Update 11
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150110} /qn
    rem JRE Runtime Environment 5.0 Update 10
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150100} /qn
    rem JRE Runtime Environment 5.0 Update 9
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150090} /qn
    rem JRE Runtime Environment 5.0 Update 8
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150080} /qn
    rem JRE Runtime Environment 5.0 Update 7
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150070} /qn
    rem J2SE Runtime Environment 5.0 Update 6
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150060} /qn
    rem JRE Runtime Environment 5.0 Update 5
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150050} /qn
    rem JRE Runtime Environment 5.0 Update 4
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150040} /qn
    rem J2SE Runtime Environment 5.0 Update 3
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150030} /qn
    rem J2SE Runtime Environment 5.0 Update 2
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150020} /qn
    rem JRE Runtime Environment 5.0 Update 1
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150010} /qn
    rem JRE Runtime Environment 5.0
    msiexec.exe /x {3248F0A8-6813-11D6-A77B-00B0D0150000} /qn

    rem =====================================
    rem Java 2 Runtime Environment, SE v1.4.2_19
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142190} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_18
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142180} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_17
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142170} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_16
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142160} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_15
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142150} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_14
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142140} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_13
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142130} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_12
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142120} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_11
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142110} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_10
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142100} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_09
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142090} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_08
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142080} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_07
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142070} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_06
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142060} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_05
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142050} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_04
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142040} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_03
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142030} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_02
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142020} /qn
    rem Java 2 Runtime Environment, SE v1.4.2_01
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142010} /qn
    rem Java 2 Runtime Environment, SE v1.4.2
    msiexec.exe /x {7148F0A8-6813-11D6-A77B-00B0D0142000} /qn

    rem =====================================
    rem Java 2 Runtime Environment Standard Edition v1.3.1_25
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_25Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_24
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_24Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_23
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_23Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_22
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_22Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_21
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_21Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_20
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_20Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_19
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_19Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_18
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_18Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_17
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_17Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_16
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_16Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_15
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_15Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_14
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_14Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_13
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_13Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_12
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_12Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_11
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_11Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_10
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_10Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_09
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_09Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_08
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_08Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_07
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_07Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_06
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_06Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_05
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_05Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_04
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_04Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_03
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_03Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_02
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_02Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3.1_01
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3.1_01Uninst.isu" –a
    rem Java 2 Runtime Environment Standard Edition v1.3
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.3Uninst.isu" -a

    rem =====================================
    rem Java 2 Runtime Environment Standard Edition v1.2
    %systemroot%IsUninst.exe -f"%SystemDrive%Program FilesJavaSoftJRE1.2Uninst.isu" -a

    rem =====================================
    rem Java Auto Updater 2.0.2.1 / 2.0.2.4
    MsiExec.exe /x {4A03706F-666A-4037-7777-5F2748764D10} /qn

    В начале файла удаление уже установленного экземпляра текущей версии фигурирует не случайно. Эксперименты показали что если текущая версия была ранее установлена в ручную то выкорчевать из неё логику механизма авто-обновления сложней чем просто удалить и установить заново с нужными параметрами. В конце файла строка удаления Java Auto Updater добавлена больше для перестраховки, так как, при удалении JRE в штатном режиме, этот модуль удаляется тоже.

    Для информации: если нет желания удалять текущую версию JRE с установленным модулем авто-обновления, механизм авто-обновления можно попытаться отключить в реестре:

    [HKEY_LOCAL_MACHINESoftwareJavaSoftJava UpdatePolicy]
    "EnableJavaUpdate"=dword:00000000
    "EnableAutoUpdateCheck"=dword:00000000

    Разместив полученные из дистрибутива файлы jre1.6.0_23.msi , Data1.cab и пакетный файл удаления старых версий jre1.6.0_23_UninstallAll.bat в одном сетевом каталоге, в SCCM создаем пакет распространения JRE.

    image

    Пакет будет иметь две основные программы, которые мы будем использовать. Первая программа «Uninstall all old versions» будет запускать созданный нами пакетный файл для удаления старых версий

    image

    Вторая программа «Per-system unattended» будет запускать процедуру установки новой версии с необходимыми нам ключами, отвечающими за отключение механизма авто-обновления JRE

    image

    Команда установки может быть следующей:

    msiexec /i jre1.6.0_23.msi /qn REBOOT=Suppress JAVAUPDATE=0 AUTOUPDATECHECK=0

    ключи ADDLOCAL=ALL IEXPLORER=1 MOZILLA=1 можно не использовать, так как, начиная с версии JRE 6 update 10, они считаются устаревшими.

    Обратите внимание на то, что текущая версия JRE имеет два разных дистрибутива для платформ 32 и 64 бита, поэтому на закладке предварительных требований для запуска программы установки необходимо ограничить список соответствующих платформ, на которые может быть установлен данный пакет.

    image

    После того, как на SCCM пакет распространения готов, создадим коллекцию компьютеров на которую в последствие будет назначено объявление развёртывания этого пакета, с членством основанном на SQL запросе

    image

    Запрос должен выбирать из БД SCCM все компьютеры, у которых в составе установленных приложений присутствуют старые версии JRE разных веток, например, так:

    select

    SMS_R_SYSTEM.ResourceID,

    SMS_R_SYSTEM.ResourceType,

    SMS_R_SYSTEM.Name,

    SMS_R_SYSTEM.SMSUniqueIdentifier,

    SMS_R_SYSTEM.ResourceDomainORWorkgroup,

    SMS_R_SYSTEM.Client

    from SMS_R_System

    inner join SMS_G_System_ADD_REMOVE_PROGRAMS

    on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId

    where  

    SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName

    like 'Java(TM) 6%' OR

    SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName

    like 'Java(TM) SE Runtime Environment 6%' OR

    SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName

    like 'J2SE Runtime Environment 5%' OR

    SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName

    like 'Java 2 Runtime Environment, SE v1.4%' OR

    SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName

    like 'Java 2 Runtime Environment Standard Edition v1.3%' OR

    SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName

    like 'Java 2 Runtime Environment Standard Edition v1.2%'

    После того как коллекция будет обновлена и заполнена компьютерами, создаем последовательность задач (Task Sequences) состоящую из двух действий. Первым действием будет запуск программы выполняющей пакетный файл удаления всех старых версий:

    image

    При этом в опциях данного шага необходимо обозначить то, что в случае возврата ошибок, последовательность будет продолжать выполняться. В ходе выполнения пакетного файла для тех продуктов, которые не установлены, будет возвращаться код ошибки инсталлятора MSI 1605, что может приводить к прерыванию последовательности. По этой же причине процедуру установки пакета предлагается выполнять не в виде обычного объявления на коллекцию, а через выполнение последовательности задач.

    image

    Вторым действием последовательности будет уже сама установка новой версии с необходимыми нам параметрами

    image

    После этого нам остаётся только объявить последовательность задач на созданную ранее коллекцию компьютеров и следить за ходом развёртывания на консоли SCCM

    image

    Дополнительные источники информации:

    Java SE Online Documentation - Java Runtime Environment Configuration
    Java SE Online Documentation - JRE Installer Options
    AppDeploy Package Knowledgebase - Java Runtime Environment
    camie.dyndns.org - J2SE & JRE Mass Uninstallation Script (Bat)
    Brad's JumpBag Blog - Java 6 Update 22 partial installs

  • SCCM - Обновление корневых сертификатов

    При попытке развернуть последнюю версию JRE на Windows 7 столкнулся с ситуацией, когда программа установки завершается с ошибкой:

    Имя журнала: Application
    Источник: MsiInstaller
    Дата: 26.01.2011 8:37:12
    Код события: 11330
    Категория задачи: Отсутствует
    Уровень: Ошибка
    Ключевые слова: Классический
    Пользователь: mydomuser
    Компьютер: WS001.mydom.com
    Описание:
    Product: Java(TM) 6 Update 23 -- Error 1330.A file that is required cannot be installed because the cabinet file \sccm-serverSourcesJRE_1.6.0_23x86Data1.cab has an invalid digital signature. This may indicate that the cabinet file is corrupt. Error 266 was returned by WinVerifyTrust.

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

    При этом на компьютерах с Windows XP данной проблемы нет, так как эти ОС получают с WSUS соответствующее обновление - Update for Root Certificates [October 2010] (KB931125)

    clip_image001

    Для того чтобы обеспечить обновление корневых сертификатов на всех клиентских системах Windows можно скачать файл rootsupd.exe и форсированного распространить его. В моём случае, для этой цели я воспользовался SCCM, создав новый пакет распространения:

    clip_image002

    Для пакета сделана соответствующая программа, которая в скрытом режиме будет запускать исполняемый файл rootsupd.exe.

    clip_image001[4]

    После распространения созданного пакета на все точки распространения SCCM и объявления на коллекцию клиентских ПК, проблема с развёртыванием JRE будет исчерпана.

    Для тех, у кого нет возможности использовать SCCM, распространить это обновление можно и другими доступными способами, например через GPO.