Кажется, совсем простая задача, однако средим свойст объекта.
Откроем сессию с OneView
PS > Connect-HPOVMgmt -Hostname 192.168.1.10 -UserName Administrator -Password password
Создадим объект HPOneView.ServerHardare, используем имя в виде фильтра
PS > $server = Get-HPOVServer -Name "DL360Gen9-1"
Проверим, какие есть методы и свойства у этого объекта (вообще команда Get-Member очень полезна, если документация библиотеки не на высоте):
PS > Get-Member -InputObject $server
Видно, что IP-адрес iLO нигде не светится. После некоторых поисков выясняется, что информация о настройках сети iLO есть свойстве "mpIpAddresses":
А именно в множестве "mpIpAddresses":
PS > $server.mpHostInfo.mpIpAddresses
Адреса оказывается два - IP v4 и IP v6. Второй вряд ли часто используется. Поэтому нам надо получить первый. Используем фильтр "where" с регулярным выражением "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}". Честно скажу, что в регулярных выражениях я не силен, поэтому формулу честно скопировал из Интернета:
PS > ($server.mpHostInfo.mpIpAddresses |where {$_.address -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"}).address
Всё. Адрес у нас в руках. Можно его использовать в других скриптах. Для примера используем команду ping:
PS > ping ($server.mpHostInfo.mpIpAddresses |where {$_.address -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"}).address
или
PS > Test-Connection -ComputerName ($server.mpHostInfo.mpIpAddresses |where {$_.address -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"}).address -Count 1 -Quiet
Конец примера.
Откроем сессию с OneView
PS > Connect-HPOVMgmt -Hostname 192.168.1.10 -UserName Administrator -Password password
Создадим объект HPOneView.ServerHardare, используем имя в виде фильтра
PS > $server = Get-HPOVServer -Name "DL360Gen9-1"
Проверим, какие есть методы и свойства у этого объекта (вообще команда Get-Member очень полезна, если документация библиотеки не на высоте):
PS > Get-Member -InputObject $server
Видно, что IP-адрес iLO нигде не светится. После некоторых поисков выясняется, что информация о настройках сети iLO есть свойстве "mpIpAddresses":
А именно в множестве "mpIpAddresses":
PS > $server.mpHostInfo.mpIpAddresses
Адреса оказывается два - IP v4 и IP v6. Второй вряд ли часто используется. Поэтому нам надо получить первый. Используем фильтр "where" с регулярным выражением "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}". Честно скажу, что в регулярных выражениях я не силен, поэтому формулу честно скопировал из Интернета:
PS > ($server.mpHostInfo.mpIpAddresses |where {$_.address -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"}).address
Всё. Адрес у нас в руках. Можно его использовать в других скриптах. Для примера используем команду ping:
PS > ping ($server.mpHostInfo.mpIpAddresses |where {$_.address -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"}).address
или
PS > Test-Connection -ComputerName ($server.mpHostInfo.mpIpAddresses |where {$_.address -match "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"}).address -Count 1 -Quiet
Конец примера.
Комментариев нет:
Отправить комментарий