Powershell ping atma

Powershell ping atma işleminde eğer tek bir ip ye ping atacaksanız son derece basit command prompt üzerinde cmd nasıl ping atıyorsak powershell de aynı şekilde ping atıyoruz.  Bu makalede Powershell üzerinden toplu ping atma işleminin nasıl yapılacağına bakacağız.

Hepinizin bildiği gibi powershell üzerinden ping atma işlemini basitçe aşağıdaki komutla yapıyoruz.

Örnekle;

ping ip –> ping 192.168.1.15

 

Powershell toplu ping atma

Sizin yapmak istediğiniz powershell ping atma script ise yani bir powershell script ile toplu bir ip adresine veya ip bloğuna ping atmak istiyorsanız aşağıdaki komutu kullanabilirsiniz.

Aşağıdaki komutla 192.168.10 networküne ait ipleri 1 de 254’e kadar sıralı olarak pingler ve live ip görürse success verir. Eğer taranan ipler live değilse DestinationHostUnreachable uyarısı alırsınız.

$ping = New-Object System.Net.Networkinformation.Ping 1..254 | % { $ping.send(“192.168.1.$_”) | select address, status}

 

Bana şöyle daha sadece bir ekran gelsin yanlızca ip adresini ve online mı değil mi öğreneyim diyorsanız aşağıdaki komutu kullanabilirsiniz.

1..254 | % { $ping.send(“192.168.1.$_”) | select address, status}
powershell ping atma script
powershell ip aralığına ping atma

 

Eğer server listesi bit txt içerisindeyse bu txt dosyadan listeyi okutabilir ve sonrasında csv formatında çıktı alabilirsiniz bunun için aşağıdaki komutu kullanıyoruz.

 

Not: Aşağıdaki komutu powershell üzerinde çalıştırmak için Execution Policy enable durumda olmalıdır.

$servers = Get-Content "C:\Users\ali örtül\Documents\serverlist.txt"
$collection = $()
foreach ($server in $servers)
{
    $status = @{ "ServerName" = $server; "TimeStamp" = (Get-Date -f s) }
    if (Test-Connection $server -Count 1 -ea 0 -Quiet)
    { 
        $status["Results"] = "Up"
    } 
    else 
    { 
        $status["Results"] = "Down" 
    }
    New-Object -TypeName PSObject -Property $status -OutVariable serverStatus
    $collection += $serverStatus

}
$collection | Export-Csv C:\ServerStatus.csv -NoTypeInformation

 

Eğer powershell üzerinde komutu çalıştıramıyorsanız Powershell versiyonunuzun güncel olduğundan emin olun ve Powershell ISE üzerinden deneyin.

Ayrıca aşağıdaki konularda ilginizi çekebilir;

Windows Powershell Nedir

 

Etiketler; powershell ping, powershell toplu ping, powershell ip range ping, powershell ping atma script