<# .SYNOPSIS Checks the ping latency .DESCRIPTION This PowerShell script checks the ping latency from the local computer to some Internet hosts. .PARAMETER hosts Specifies the hosts to check, seperated by comma (default is: amazon.com,bing.com,cnn.com,dropbox.com,facebook.com,google.com,live.com,twitter.com,youtube.com) .EXAMPLE PS> ./check-ping ✅ Ping is 25ms average, 13ms min, 109ms max .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> param([string]$hosts = "amazon.com,bing.com,cnn.com,dropbox.com,facebook.com,google.com,live.com,twitter.com,youtube.com") try { Write-Progress "⏳ (1/2) Pinging $hosts..." $HostsArray = $hosts.Split(",") $Pings = Test-Connection -count 1 -computerName $HostsArray Write-Progress "⏳ (2/2) Calculating results..." [int]$Min = 9999999 [int]$Max = [int]$Avg = 0 foreach($Ping in $Pings) { if ($IsLinux) { [int]$Latency = $Ping.latency } else { [int]$Latency = $Ping.ResponseTime } if ($Latency -lt $Min) { $Min = $Latency } if ($Latency -gt $Max) { $Max = $Latency } $Avg += $Latency } $Avg /= $Pings.count Write-Progress -Completed " " "✅ Ping is $($Avg)ms average, $($Min)ms min, $($Max)ms max" exit 0 # success } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 }