Script de monitoring d'URL sous Windows
Cet outil vérifie les URL à partir d'un fichier texte, teste leur connectivité et affiche les résultats d'état colorés et les erreurs du serveur.
$urlFile = "urls.txt"
if (-not (Test-Path -Path $urlFile)) {
"www.google.com" | Out-File -FilePath $urlFile -Encoding UTF8
Write-Host "File $urlFile created with default URLs."
}
$urls = Get-Content -Path $urlFile
foreach ($url in $urls) {
if (-not $url.StartsWith("http")) {
$url = "https://" + $url
}
try {
$response = Invoke-WebRequest -Uri $url -Method Get -ErrorAction Stop -UseBasicParsing -MaximumRedirection 5
if ($response.StatusCode -ge 200 -and $response.StatusCode -lt 400) {
Write-Host "$url " -NoNewline
Write-Host "[OK] (HTTP $($response.StatusCode))" -ForegroundColor Green
} else {
Write-Host "$url " -NoNewline
Write-Host "[WARNING] (HTTP $($response.StatusCode))" -ForegroundColor Yellow
}
} catch {
Write-Host "$url " -NoNewline
if ($_.Exception.Response) {
$statusCode = $_.Exception.Response.StatusCode.value__
Write-Host "[FAILED] (HTTP $statusCode)" -ForegroundColor Red
Write-Host " Détails : $($_.Exception.Message)" -ForegroundColor DarkGray
} else {
Write-Host "[FAILED] (Erreur: $($_.Exception.Message))" -ForegroundColor Red
}
}
}
Write-Host "`nTests completed" -ForegroundColor Yellow
Write-Host "Press any key to continue..."
[Console]::ReadKey($true) | Out-Null