Управление HP ILO с помощью PowerShell | Windows для системных администраторов

Управление HP ILO с помощью PowerShell

Специально для Windows администратора и ИТ-профессионалов Hewlett-Packard недавно выпустила набор из 110 PowerShell командлетов, позволяющих напрямую из систем Windows удаленно настраивать и управлять интерфейсами HP ILO на серверах HP.  Этот набор командлетов носит название HP Scripting Tools для Windows PowerShell и предназначен для работы с HP iLO 3 и iLO 4. Командлеты объединены в модуль HPiLOCmdlets и предназначены для:

  • Поиска и сканирования интерфейсов ILO в сети
  • Доступа к настройкам ILO, в том числе настройками интерфейса, пользователей ILO, управления электропитанием, логами, IML и т.д.
  • Возможность одновременного управления сразу несколькими платами iLOs

Скачать HP Scripting Tools для Windows PowerShell можно тут. Выберите версию и разрядность своей ОС (поддерживаются ОС Windows 7 SP1, Microsoft Windows 8, Microsoft Windows Server 2008 R2 SP1 и Microsoft Windows Server 2012 /R2) и скачайте соответствующий пакет (на момент написания статьи на сайте была доступна HP Scripting Tools Version 1.1  — 20 Mar 2014). HP Scripting Tools для Powershell

В нашем примере это пакет для Windows Server 2012 R2 –Z7550-10537-x64.exe (479 KB). Распакуйте содержимое архива в произвольную папку и запустите установку модуля HP Scripting Tools для PowerShell (HPiLOCmdlets-x64.msi).

Примечание. Для работы командлетов  на компьютере необходимо установить  Microsoft Management Framework 3.0 (включает PowerShell 3.0) или Microsoft Management Framework 4.0 (PowerShell 4.0). Для PoSh 3.0 также потребуется установить .NET 4.0 , для PoSh 4.0 — NET 4.5.

Модуль устанавливается в каталог C:\ProgramFiles\Hewlett-Packard\PowerShell\Modules, но путь к этому каталогу в системную переменную PSModulePath не вносится. Т.е. среда PowerShell по умолчанию этот модуль не видит. Исправим это недоразумение командой:

$env:PSModulePath+=";$env:ProgramFiles\Hewlett-Packard\PowerShell\Modules"
Совет. Это изменение будет действовать только в рамках ткущей сессии PowerShell.

Полный список PowerShell командлетов HP (110 штук) можно вывести так:

Get-Command *HP*

командлеты для управления hp ilo из powershell

С помощью этих командлетов можно получать статус и управлять множеством настроек платы ILO на серверах HP: в том числе управлять электропитанием, порядком загрузки , сигнальным светодиодом (UID), получать информацию о версии HP ILO, обновлять прошивку и т.п.

Информацию о назначении, аргументах и примерах использования конкретного командлета можно получить так:

help  -Full

В первую очередь познакомимся с командлетом, позволяющим обнаружить в сети интерфейсы HP ILO. В качестве аргумента он может принимать как конкретный IP адрес, так и диапазон IP адресов:

Find-HPiLO 10.10.20.138
Find-HPiLO 10.10.20.138-141

Find-HPiLO - поиск плат HP ILO в сети

В нашем примере при сканирования диапазона IP адресов мы обнаружили 3 интерфейса ILO v3, установленных на серверах HP Proliant DL 360 G7.

Примечание. DNS имя в команде указать не получится, т.к. командлетом не поддерживается разрешение имен.

Чтобы не указывать каждый раз, сохраним в соответствующих переменных IP адрес ILO, имя и пароль пользователя, обладающего доступом  к консоли ILO:

$srvILO = Find-HPiLO 10.10.20.141

$username='Admin'

$password='myILOpassw0rd'

Попробуем понять включено ли электропитание на сервере:

Get-HPiLOHostPower -Server $srvILO -Username $username -Password $password

Получить информацию о статусте электропитания ilo

Как мы видим, сервер включен (HOST POWER : ON).

Чтобы выключить сервер HP с помощью интерфейса ACPI выполним команду:

Set-HPiLOHostPower -Server $srvILO -Username $username -Password $password -HostPower "No"

Удаленное отключение питания через ilo с помощью powershell

Удалено включить сервер можно так:

Set-HPiLOHostPower -Server $srvILO -Username $username -Password $password -HostPower "Yes"

Напишем небольшой скрипт, который берет параметры из CSV файла и включает/отключает все сервера HP по списку.

В CSV файле будут содержатся ip адрес сервера, имя пользователя и пароль, нужный статус электропитания на сервере. Формат файла ILO.csv:

Server,Username,Password,HostPower

10.10.20.160,Admin, myILOpassw0rd,Yes

10.10.20.162,Admin, sdILOdsd,No

Следующий PoSh скрипт пройдется по csv файлу и переведет питание всех северов в нужное состояние:

$path = ".\ILO.csv"

$file_csv = Import-Csv $path

$p_ilo = Set-HPiLOHostPower -Server $file_csv.Server -Username $csv.Username `

-Password $file_csv.Password -HostPower $file_csv.HostPower

$p_ilo | Format-List

$p_ilo = Get-HPiLOHostPower -Server $file_csv.Server -Username $file_csv.Username `

-Password $file_csv.Password

$p_ilo | Format-List

Теперь попробуем удаленно включить на сервере индикатор UID (голубого цвета). Сначала узнаем текущий статус UID индикатора:

Get-HPiLOUIDStatus -Server $srvILO -Username $username -Password $password

Включим его:

Set-HPiLOUIDStatus -Server $srvILO -Username $username -Password $password -UIDControl "Yes"

Удаленно включаем индикатор UID на северер HP

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

Get-HPiLOOneTimeBootOrder -Server $srvILO -Username $username -Password $password

Изменим порядок загрузки сервера HP, указав в качестве перового загрузочного устройства CDROM:

Set-HPiLOOneTimeBootOrder -Server $srvILO -Username $username -Password $password -Device "CDROM"

Управление приоритетом загрузки на сервере HP (boot order)

Смонтируем в виртуальный CDROM нужный iso образ:

Mount-HPiLOVirtualMedia -Server $srvILO -user $srvILO -pass $password -Device CDROM -ImageURL ‘http://hpdlsrv1.winitpro.ru/dir/windows2012r2dtc.iso’

Отмонтировать iso образ можно так:

Dismount-HPiLOVirtualMedia -Server $srvILO -user $srvILO -pass $ password -Device CDROM

Мы рассмотрели  только базовые примеры использования модуля HPiLOCmdlets , но и по ним видно насколько набор командлетов HP Scripting Tools для Powershell может упростить задачи системного администратора при работе с серверами HP в части автоматизации повседневных задач.

Еще записи по теме: PowerShell
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.24MB/0.00104 sec