Zarządzaj HP ILO za pomocą PowerShell

Specjalnie dla administratorów systemu Windows i specjalistów IT firma Hewlett-Packard wydała niedawno zestaw 110 poleceń cmdlet programu PowerShell, które umożliwiają zdalną konfigurację i zarządzanie interfejsami HP ILO na serwerach HP bezpośrednio z systemów Windows. Ten zestaw poleceń cmdlet jest nazywany HP Skrypty Narzędzia do Windows Powerhell i jest przeznaczony do współpracy z HP iLO 3 i iLO 4. Polecenia cmdlet są zintegrowane w module HPiLOCmdlets i są przeznaczone do:

  • Wyszukaj i zeskanuj interfejsy ILO w sieci
  • Dostęp do ustawień MOP, w tym ustawień interfejsu, użytkowników MOP, zarządzania energią, dzienników, IML itp..
  • Możliwość zarządzania wieloma płytkami iLO jednocześnie

Pobierz tutaj narzędzia do tworzenia skryptów HP dla Windows PowerShell. Wybierz wersję i głębię bitową swojego systemu operacyjnego (Windows 7 SP1, Microsoft Windows 8, Microsoft Windows Server 2008 R2 SP1 i Microsoft Windows Server 2012 / R2 są obsługiwane) i pobierz odpowiedni pakiet (w chwili pisania tego tekstu narzędzia HP Scripting Tools w wersji 1.1 były dostępne na stronie internetowej - 20 marca 2014).

W naszym przykładzie jest to pakiet dla systemu Windows Server 2012 R2 -Z7550-10537-x64.exe (479 KB). Rozpakuj zawartość archiwum do dowolnego folderu i uruchom instalację modułu HP Scripting Tools dla PowerShell (HPiLOCmdlets-x64.msi).

Uwaga. Aby uruchomić polecenia cmdlet na komputerze, musisz zainstalować Microsoft Management Framework 3.0 (zawiera PowerShell 3.0) lub Microsoft Management Framework 4.0 (PowerShell 4.0). W przypadku PoSh 3.0 należy także zainstalować .NET 4.0, w przypadku PoSh 4.0 - NET 4.5.

Moduł jest zainstalowany w katalogu C: \ ProgramFiles \ Hewlett-Packard \ PowerShell \ Modules, ale ścieżka do tego katalogu w zmiennej systemowej PSModulePath nie wszedł Tj. Program PowerShell domyślnie nie widzi tego modułu. Popraw to nieporozumienie za pomocą polecenia:

$ env: PSModulePath + = "; $ env: ProgramFiles \ Hewlett-Packard \ PowerShell \ Modules"
Wskazówka. Ta zmiana będzie miała zastosowanie tylko do bieżącej sesji PowerShell..

Pełną listę poleceń cmdlet HP PowerShell (110 sztuk) można wyświetlić w następujący sposób:

Get-Command * HP *

Za pomocą tych poleceń cmdlet można uzyskać status i zarządzać wieloma ustawieniami płytki ILO na serwerach HP: w tym zarządzanie zasilaniem, kolejnością rozruchu, diodą sygnalizacyjną (UID), uzyskiwanie informacji o wersji HP ILO, aktualizowanie oprogramowania układowego itp..

Informacje o celu, argumentach i przykładach użycia określonego polecenia cmdlet można uzyskać w następujący sposób:

pomoc -Pełne

Przede wszystkim zapoznajmy się z poleceniem cmdlet, które pozwala odkryć interfejsy HP ILO w sieci. Jako argument może przyjąć konkretny adres IP lub zakres adresów IP:

Find-HPiLO 10.10.20.138
Find-HPiLO 10.10.20.138-141

W naszym przykładzie podczas skanowania zakresu adresów IP znaleźliśmy 3 interfejsy ILO v3 zainstalowane na serwerach HP Proliant DL 360 G7.

Uwaga. Nie można podać nazwy DNS w poleceniu, ponieważ polecenie cmdlet nie obsługuje rozpoznawania nazw.

Aby nie podawać za każdym razem, zapiszemy adres IP MOP, nazwę i hasło użytkownika z dostępem do konsoli MOP w odpowiednich zmiennych:

$ srvILO = Find-HPiLO 10.10.20.141 $ nazwa użytkownika = 'Administrator' $ hasło = 'myILOpassw0rd'

Spróbujmy zrozumieć, czy zasilanie serwera jest włączone:

Get-HPiLOHostPower -Server $ srvILO -Username $ nazwa użytkownika -Hasło $ hasło

Jak widzimy, serwer jest włączony (HOST POWER: ON).

Aby wyłączyć serwer HP za pomocą interfejsu ACPI, wykonaj polecenie:

Set-HPiLOHostPower -Server $ srvILO -Username $ nazwa użytkownika -Hasło $ hasło -HostPower „Nie”

Możesz włączyć serwer zdalnie w następujący sposób:

Set-HPiLOHostPower -Server $ srvILO -Username $ nazwa użytkownika -Hasło $ hasło -HostPower „Tak”

Napiszemy mały skrypt, który pobiera parametry z pliku CSV i włącza / wyłącza wszystkie serwery HP z listy.

Plik CSV będzie zawierał adres IP serwera, nazwę użytkownika i hasło oraz żądany status zasilania na serwerze. Format pliku ILO.csv:

Serwer, nazwa użytkownika, hasło, HostPower 10.10.20.160, Administrator, myILOpassw0rd, Tak 10.10.20.162, Administrator, sdILOdsd, Nie

Poniższy skrypt PoSh przejdzie przez plik csv i przeniesie moc wszystkich serwerów do pożądanego stanu:

$ 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 | Lista formatów

Teraz spróbujmy zdalnie włączyć wskaźnik UID (niebieski) na serwerze. Najpierw sprawdzamy aktualny status identyfikatora UID wskaźnika:

Get-HPiLOUIDStatus -Server $ srvILO -Username $ nazwa użytkownika -Hasło $ hasło

Włącz to:

Set-HPiLOUIDStatus -Server $ srvILO -Username $ nazwa użytkownika -Hasło $ hasło -UIDControl „Tak”

Następnie spróbuj zmienić kolejność rozruchu serwera HP (Kolejność rozruchu). Uzyskaj informacje o bieżących ustawieniach priorytetu rozruchu:

Get-HPiLOOneTimeBootOrder -Server $ srvILO -Username $ nazwa użytkownika -Hasło $ hasło

Zmień kolejność uruchamiania serwera HP, określając CDROM jako pierwsze urządzenie rozruchowe:

Set-HPiLOOneTimeBootOrder -Server $ srvILO -Username $ nazwa użytkownika -Hasło $ hasło -Urządzenie „CDROM”

Zamontujemy pożądany obraz ISO na wirtualnej płycie CD-ROM:

Mount-HPiLOVirtualMedia -Server $ srvILO -user $ srvILO -pass $ hasło -Device CDROM -ImageURL 'http://hpdlsrv1.winitpro.ru/dir/windows2012r2dtc.iso'

Możesz odmontować obraz ISO w ten sposób:

Dismount-HPiLOVirtualMedia -Server $ srvILO -user $ srvILO -pass $ hasło -Device CDROM

Przebadaliśmy tylko podstawowe przykłady korzystania z modułu HPiLOCmdlets, ale możesz także zobaczyć, w jaki sposób zestaw poleceń cmdlet HP Scripting Tools dla programu PowerShell może uprościć zadania administratora systemu podczas pracy z serwerami HP w celu automatyzacji codziennych zadań.