PowerShell-Befehle für Leitungs- & Netzwerkanalyse
Allgemeine Hinweise zur Nutzung
• Platzhalter wie <ZIEL>, <PORT> und
<PROZESSNAME> müssen immer bewusst gewählt und an das
eigene System angepasst werden.
• Befehle sollten nicht parallel zu anderen Messungen laufen, damit sich
Tests nicht gegenseitig beeinflussen.
• Für aussagekräftige Ergebnisse möglichst per LAN testen, WLAN-Störungen,
Hintergrund-Downloads, Cloud-Synchronisation, Streaming und große Updates
während der Messung vermeiden.
• Ergebnisse immer im Zusammenhang betrachten (z. B. mit
Straxx-Speedtest, Router-Logs, Provider-Infos). Einzelne Ausreißer sind
nicht automatisch ein Fehlernachweis.
• Die Beispiele ersetzen keine individuelle Beratung und müssen ggf. an
lokale Vorgaben, Unternehmens-Policies oder Support-Empfehlungen angepasst
werden.
1. Kurzer Latenz-Check (z. B. 20 Pings)
Führt eine begrenzte Anzahl Pings zu einem Ziel aus und zeigt Antwortzeit und Zieladresse an. Gut für einen schnellen Eindruck der Latenz ohne Dauerlauf.
1..20 | ForEach-Object { Test-Connection <ZIEL> -Count 1 -ErrorAction SilentlyContinue } | Select-Object Address, ResponseTime
Tipp: <ZIEL> kann eine IPv4/IPv6-Adresse
oder ein Hostname sein. Bei Fehlern die Firewall-/AV-Einstellungen prüfen.
2. Laufender Ping mit Zeitstempel (Live-Monitor light)
Misst die Latenz sekündlich und schreibt Zeitstempel plus Antwortzeit in die Konsole. Eignet sich als simpler Live-Monitor direkt am Rechner.
while ($true) { $r = Test-Connection <ZIEL> -Count 1 -ErrorAction SilentlyContinue; if ($r) { '{0:HH:mm:ss} {1} ms' -f (Get-Date), $r.ResponseTime } else { '{0:HH:mm:ss} timeout' -f (Get-Date) }; Start-Sleep -Seconds 1 }
Hinweis: Zum Stoppen einfach das Konsolenfenster schließen
oder Strg+C drücken.
3. Erreichbarkeit & Porttest
Prüft, ob ein bestimmter Host und Port erreichbar sind (z. B. Game-Server, Voice-Server oder Webservice).
Test-NetConnection -ComputerName <ZIEL> -Port <PORT> -InformationLevel Detailed
Beispiele: typischerweise werden hier die Ports des jeweiligen Spiels oder Dienstes eingesetzt. Die genauen Werte müssen der Dokumentation des jeweiligen Produkts entnommen werden.
4. TCP/UDP-Verbindungen eines bestimmten Programms
Listet alle TCP- und UDP-Verbindungen eines Prozesses auf, z. B. eines Spiels oder Voice-Clients. So lässt sich nachvollziehen, mit welchen entfernten Adressen und Ports das Programm kommuniziert.
$p = (Get-Process '<PROZESSNAME>').Id; (Get-NetTCPConnection | Where-Object { $_.OwningProcess -eq $p -and $_.RemoteAddress -ne '0.0.0.0' -and $_.RemotePort -ne 0 } + Get-NetUDPEndpoint | Where-Object { $_.OwningProcess -eq $p -and $_.RemoteAddress -ne '0.0.0.0' -and $_.RemotePort -ne 0 }) | Select-Object RemoteAddress,RemotePort
Prozessname finden: Entweder im Task-Manager (Details-Reiter)
nachsehen oder in PowerShell z. B.
Get-Process | Sort-Object CPU -Descending verwenden und den
gewünschten Namen in <PROZESSNAME> einsetzen.
5. Grober Paketverlust-Check über mehrere Pings
Führt eine bestimmte Anzahl Test-Pings aus und berechnet, wie viele davon keine Antwort zurückliefern (vereinfachter Paketverlust-Check).
$n = 100; $ok = 0; 1..$n | ForEach-Object { if (Test-Connection <ZIEL> -Count 1 -Quiet -ErrorAction SilentlyContinue) { $ok++ } }; $loss = 100 - [math]::Round(($ok / $n) * 100, 1); "Gesendet: $n, erfolgreich: $ok, Verlust: $loss %"
Hinweis: Ergebnis immer im Zusammenhang mit anderen Tests betrachten – kurze Ausreißer können normal sein.