The Test-Connection cmdlet implements a simple ping to check whether a system responds to an ICMP request. Unfortunately, you cannot specify a timeout. Test-Connection defaults to a static timeout of 4 seconds:
PS C:\> Test-Connection -ComputerName powershellmagazine.com -Count 1 | Select-Object Address, ResponseTime, Timeout Address ResponseTime Timeout ------- ------------ ------- powershellmagazine.com 118 4000
To use a timeout, simply use the underlying WMI query like this:
$ComputerName = 'powershellmagazine.com' $Count = 1 $Timeout = 1000 $Filter = 'Address="{0}" and Timeout={1}' -f $ComputerName, $Timeout Get-WmiObject -Class Win32_PingStatus -Filter $Filter | Select-Object Address, ResponseTime, Timeout
Here is the result:
Address ResponseTime Timeout ------- ------------ ------- powershellmagazine.com 118 1000
To ping multiple times, simply use a loop.
Throughout this month, we'd like to point you to two awesome community-driven global PowerShell events taking place this year:
Europe: April 20-22: 3-day PowerShell Conference EU in Hannover, Germany, with more than 30+ speakers including Jeffrey Snover and Bruce Payette, and 60+ sessions (www.psconf.eu).
Asia: October 21-22: 2-day PowerShell Conference Asia in Singapore. Watch latest annoncements at www.psconf.asia
Both events have limited seats available so you may want to register early.