Предисловие Недавно мой менеджер поставил задачу автоматизировать установку и настройку продукта Powerchute Business Edition на большом количестве серверов, с разными интерфейсами подключения UPS, USB, COM. Раньше я занимался автоматизацией установки различного программного обеспечения, но с таким типом файлов конфигурации, который использует данный продукт, я столкнулся впервые.
Все дело в том, что в файле конфигурации используются бинарные java-файлы, которые можно модифицировать утилитой с GIU-интерфейсом; он не подходит для решения проблемы.
Powerchute Business Edition изнутри
Давайте более подробно рассмотрим продукт; его можно получить на официальном сайте БТР В главе загрузки .После скачивания получаем файл pcbesetup.exe с его помощью можно установить три компонента: агент, сервер, консоль.
Агент устанавливает драйверы на ИБП и отвечает за автоматическое отключение сервера в случае сбоя питания.
Сервер подключается к агенту, считывает статус ИБП и в случае проблем может отправить оповещение по электронной почте.
Консоль, графический интерфейс для настройки сервера и агента.
Компонентов три, а файл один, чтобы получить их по отдельности воспользуемся обычным WinRAR , открываем скачанный файл, заходим в папку bin. Мы видим наши три компонента, но папок четыре, об этом позже.
Автоматизация установки компонентов
Поскольку файлы ингалятора создаются в InstallShield, есть возможность создать файл ответов.о чем написано на сайте производителя.
С самого начала вам необходимо разместить все разархивированные файлы, например, по следующему пути C:\APC , затем установите компоненты в указанном порядке из командной строки: 1. C:\APC\agent-upslink\setup.exe -r установка агента версии 9.0.3 2. C:\APC\agent\setup.exe -r обновление агента до версии 9.1.1 3. C:\APC\server\setup.exe -r установка сервера версии 9.1.1 4. C:\APC\console\setup.exe -r установить консоль 9.1.1 После каждой установки будет создаваться файл ответов.
C:\Windows\setup.iss , который необходимо скопировать в каталог с установщиком.
Важно, что при установке агента обнаружение ИБП происходит автоматически; это даст возможность в дальнейшем установить агент с разными интерфейсами подключения USB и COM; он сам обнаружит ИБП.
Теперь проверим, что файлы ответов работают, удалим установленные компоненты и установим их снова с помощью ключа s. 1. C:\APC\agent-upslink\setup.exe -s 2. C:\APC\агент\setup.exe -s 3. C:\APC\server\setup.exe -s 4. C:\APC\console\setup.exe -s
Как видите, установка прошла успешно:
Компоненты установлены, теперь их необходимо настроить.
Агент настраивается во время установки; указываются логин и пароль, которые сохраняются в файле C:\Windows\setup.iss , мы уже настроили его ранее, когда создавали файл ответов.
Теперь наступает самая интересная часть настройки сервера с бинарным Java-файлом.
Откройте консоль и удалите ранее настроенный ИБП.
после добавления нового клиента важно указать в диапазоне поиска, чтобы подсесть 127.0.0.* , это необходимо для автоматизации, так как на разных серверах будут разные адреса агентов, и редактировать файл конфигурации вручную мы не будем.
Настраиваем отправку уведомлений на почту, в разделе Инструменты > Изменить профиль конфигурации, не буду описывать каждое поле и так все понятно.
Все необходимое для автоматизации есть, скопируйте в файлы с настройками сервера, по пути C:\Program Files (x86)\APC\PowerChute Business Edition\server, файлы m11.bak, m11.cfg. в каталог C:\APC\server\, удалите все ранее установленные компоненты PowerChute и установите их с помощью сценария PowerShell, список приведен ниже.
Логика работы скрипта следующая: зайти в каталог, где находится файл скрипта, установить и обновить агент, установить сервер, остановить службу сервера, изменить файлы конфигурации, запустить службу сервера, установить консоль.
Я надеюсь, что у вас все получится.function InstallPowerShute{ .
\APC\agent-upslink\setup.exe -s | Out-Null .
\APC\agent\setup.exe -s | Out-Null $PowerChuteServerFolder= ${env:ProgramFiles(x86)} + "\APC\PowerChute Business Edition\server" $PowerChuteServerFile1= $PowerChuteServerFolder + "\m11.bak" $PowerChuteServerFile2= $PowerChuteServerFolder + "\m11.cfg" .
\APC\server\setup.exe -s | Out-Null Stop-Service APCPBEServer -Force | Out-Null remove-item -path $PowerChuteServerFile1 -force remove-item -path $PowerChuteServerFile2 -force Copy-Item ".
\APC\server\m11.bak" -Destination $PowerChuteServerFolder Copy-Item ".
\APC\server\m11.cfg" -Destination $PowerChuteServerFolder Start-Service APCPBEServer | Out-Null .
\APC\console\setup.exe -s | Out-Null } function Get-ScriptPath{ Split-Path -Path $MyInvocation.ScriptName } $path = Get-ScriptPath cd $path InstallPowerShute
Спасибо за внимание.
Теги: #Администрирование сервера #PowerShell #PowerChute #sccm2012
-
Quickbooks В Облаке — Безопасно И Быстро
19 Oct, 24 -
Делаем Джойстик Seg Из Usb
19 Oct, 24 -
Искусственные Нейронные Сети. Часть 2
19 Oct, 24 -
Выпущен Php 5.4 Rc4
19 Oct, 24