Erreichbarkeitsprüfung per Ping
Zweck des Skripts
Dieses Skript prüft eine definierte Liste von IP-Adressen auf Erreichbarkeit per Ping (ICMP). Für erreichbare Systeme wird zudem versucht, den DNS-Hostnamen aufzulösen. Die Ergebnisse werden als einfache Textdatei auf dem Desktop des ausführenden Benutzers gespeichert.
Einsatzszenario
Das Skript ist nützlich für:
-
Inventarisierungen,
-
Netzwerkscans zur schnellen Statusübersicht,
-
Überprüfung von Netzwerksegmenten,
-
Vorbereitung oder Kontrolle von DHCP-/DNS-Konfigurationen.
Voraussetzungen
-
PowerShell 5.1 oder neuer
-
Netzwerkverbindung zu den Ziel-IP-Adressen
-
DNS-Auflösung muss im Netzwerk funktionieren (für Hostnamen)
# Liste der IP-Adressen
$IPAddresses = @(
"XXX.XXX.XXX.XXX",
"XXX.XXX.XXX.XXX"
)
# Pfad zur Ausgabe-Datei (Desktop)
$DesktopPath = [Environment]::GetFolderPath("Desktop")
$OutputFile = Join-Path $DesktopPath "ip-auflistung.txt"
# Bestehende Datei löschen, falls vorhanden
if (Test-Path $OutputFile) {
Remove-Item $OutputFile
}
# IPs auf Erreichbarkeit prüfen
foreach ($IP in $IPAddresses) {
Write-Host "Prüfe IP: $IP"
if (Test-Connection -ComputerName $IP -Count 1 -Quiet) {
try {
# Hostname abfragen
$HostName = [System.Net.Dns]::GetHostEntry($IP).HostName
} catch {
# Wenn Hostname nicht aufgelöst werden kann
$HostName = "Hostname nicht gefunden"
}
# Ergebnis in Datei schreiben
"$IP - $HostName" | Out-File -Append -FilePath $OutputFile
}
}
Write-Host "Fertig! Ergebnisse wurden in $OutputFile gespeichert."