сканировать подсети для ilo ips - PullRequest
0 голосов
/ 13 сентября 2018

поэтому у меня есть этот сценарий:

$srvILO = '172.16.2.210'
$username='svcilo'
$password='xxxx'

$status_message = get-HPiLoFirmwareversion -Server $srvILO -Username $username -Password $password -DisableCertificateAuthentication -WarningAction SilentlyContinue | Select-Object -ExpandProperty STATUS_MESSAGE

if ($status_message -eq 'OK'){
Write-Host "Status OK"
Exit 0
}
else {
Write-Host "$status_message"
Exit 0
}

Я хочу развернуть его на нескольких клиентах, имеющих несколько подсетей, и порт ilo не всегда находится на одном и том же ip.

Есть лиспособ, которым я могу сканировать подсети, чтобы найти часть имени хоста, которая всегда исключает ILO, и определить переменную для IP-адреса, который ему назначен?

Что-то вроде $ ILO IP = test-connectcten ..сканировать подсети 192.168.0.210, 192.168.1.210, 192.168.2.210 и т. д. ... искать имя хоста, включающее dns .

1 Ответ

0 голосов
/ 13 сентября 2018

Вы можете попробовать что-то вроде этого, чтобы просканировать все IP в одном диапазоне

$username='svcilo'
$password='xxxx'
$ipstart = "1"
$ipend = "255"
$ipgroupes = "172.168.2"
$ipstart..$ipend  | ForEach-Object{
$ip = "$ipgroupes.0" -replace "0$",$_ 

$DNSName = Resolve-DnsName -Name $ip | Select NameHost



if ($DNSName -like '*ILO*'){

    $status_message = get-HPiLoFirmwareversion -Server $ip -Username $username -Password $password -DisableCertificateAuthentication -WarningAction SilentlyContinue | Select-Object -ExpandProperty STATUS_MESSAGE

    if ($status_message -eq 'OK'){
        Write-Host "Status OK"
        Exit 0
        }

    else {
        Write-Host "$status_message"
        Exit 0
        }

}



}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...