$serverList = "192.168.50.154","192.168.50.239","192.168.55.254"
#$stopTime = Get-Date -Hour 17 -Minute 0 -Second 0
$stopTime = (Get-Date).AddSeconds(60)
$pass = 0
$results = do {
$now = Get-Date
$pass++
foreach ($server in $serverList)
{
$responseTime = ((Test-Connection $server -ErrorAction SilentlyContinue).ResponseTime | Measure-Object -Average).Average
Write-Verbose "$("[{0:D5}] {1,16} {2,7}" -f $pass, $server, $responseTime)"
[PSCustomObject]@{
Computer = $server
TimeStamp = $now.ToShortTimeString()
Time = $responseTime
}
}
Start-Sleep -Seconds 4
} until ($now -gt $stopTime)
# Sample outputs - pick one or more, your choice
$results
$results | Format-Table -AutoSize
$results | Out-GridView
$results | Export-Csv -Path .\foo.csv -NoTypeInformation -Encoding ASCII
$results | Out-File -FilePath .\foo.txt -Encoding ASCII
$results | Export-Clixml -Path .\foo.xml -Encoding ASCII
Open in new window