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.1.0 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.
1 |
1..254 | ForEach-Object {Test-Connection -ComputerName "192.168.1.$_" -Count 1 -ErrorAction SilentlyContinue} |
Ayrıca DNS’leri de öğreneyim derseniz
1 |
1..254 | ForEach-Object {Get-WmiObject Win32_PingStatus -Filter "Address='192.168.0.$_' and Timeout=200 and ResolveAddressNames='true' and StatusCode=0" | select ProtocolAddress*} |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$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;
Etiketler; powershell ping, powershell toplu ping, powershell ip range ping, powershell ping atma script