This script will ping a host for the amount of hours you set when you run it, it will then display any failures and the times it failed, while also output the results at the end of the time or when the user interrupts the script.
$ipAddress = Read-Host "Enter IP address to ping"
$duration = Read-Host "Enter duration of ping test in hours"
$successCount = 0
$failureCount = 0
$startTime = Get-Date
try {
while ((Get-Date) -lt ($startTime.Addhours($duration))) {
$pingResult = Test-Connection $ipAddress -Count 1 -ErrorAction SilentlyContinue
if ($pingResult.StatusCode -eq 0) {
$successCount++
} else {
$failureCount++
Write-Host "Ping failed at $(Get-Date)" -ForegroundColor Red
}
}
}
Finally {
Write-Host "Ping test complete. Results:" -ForegroundColor Yellow
Write-Host " Successful pings: $successCount" -ForegroundColor Green
Write-Host " Failed pings: $failureCount" -ForegroundColor Red
}
No comments:
Post a Comment