2016-02-03 2 views
-1

Прежде всего я приношу свои извинения за то, насколько я страшен с помощью PowerShell.Прокрутка Powershell через 2-й октеты и 4-й октеты

Я пытаюсь пройти через 2-й октет (1-254) и 4-й октет (209-211) IP-адреса и возвращать приведенные ниже результаты.

example ip (2nd octet loop though all possible, then only 4th octet 209 - 211) 
10.XXX.88.209 
10.XXX.88.210 
10.XXX.88.211 

example results 
10.24.88.209, ABCD
10.88.88.210, ABCD0542857 
10.192.88.211, ABCD



$ping = New-Object System.Net.NetworkInformation.Ping 
$i = 0 
$2octet = (1..255) 
$4octet = (209..211) 
foreach ($2oct in $2octet){ 
    foreach ($4oct in $4octet){ 
     foreach { $ip = "10.$2oct.11.$4oct" 
     $Res = $ping.send($ip) 

     if ($Res.Status -eq "Success") 
     { 

     $result = $ip + " = Success" 
     Write-Host $result 

     $i++ 

     } 
    } 
} 
} 
$Hosts = [string]$i 
Write-Host $Hosts , $ip 
+0

Вы гавань указано здесь проблемы? Однако вы не должны быть внутри, потому что не должны быть там. Я бы взял это и оставил код внутри. – Matt

ответ

1

Для вас октетов почему бы не попробовать что-то простое, как

for($second = 1; $second -lt 256; $second++){ 
    for($fourth = 209; $fourth -lt 212; $fourth++){ 
     Write-Host "10.$second.88.$fourth" 
    } 
} 
+0

Я склоняюсь перед вашим превосходным интеллектом и знанием powershell. Я все еще работаю над своим окончательным решением, но, спасибо за то, что получил меня за горб, я думал, что цикл for был ответом, но не знал, как его написать. – bdavisson

+0

Что еще вы пытаетесь выполнить? Я думал, что фиксация петель завершит это. –

+0

Я хочу вернуть имя хоста и IP-адрес компьютеров, которые существуют в этом диапазоне. – bdavisson

Смежные вопросы