Zur Behebung eines Netzwerkproblems möchte ich die tatsächliche Netzwerkgeschwindigkeit für einen bestimmten Netzwerkadapter erfragen, die beim Öffnen des Status einer Netzwerkverbindung unter Windows angezeigt wird:
Ich möchte dies jedoch über die Befehlszeile oder mit einem kleinen separaten Tool abfragen, da ich dies für mehrere Netzwerkverbindungen anfordern muss und dem Benutzer nicht vertraue, dass er die Informationen ordnungsgemäß abruft. Die Netzwerkkarteneinstellung "Speed / Duplux" ist immer "Auto Negotiate", daher kann ich nicht sagen, welche "Geschwindigkeit" ich erhalten werde.
Versuchen Sie diese WMI-Abfrage:
wmic NIC where NetEnabled=true get Name, Speed
Das sollte Ihnen die Geschwindigkeit aller aktiven Netzwerkverbindungen geben.
Aus Indreks Antwort:
wmic NIC wobei NetEnabled = true Name, Geschwindigkeit abrufen
wird in der Eingabeaufforderung funktionieren. Für PowerShell verwenden Sie:
wmic NIC where "NetEnabled='true'" get "Name,Speed"
(Die where -Klausel und alle get -Attribute (wie Name und Geschwindigkeit) müssen in doppelte Anführungszeichen und durch Kommas getrennt sein.).
// Edit # 1: GET Ausdruck Name, Geschwindigkeit muss in einfache Anführungszeichen gesetzt werden. Get-Ausdrücke dürfen kein Leerzeichen enthalten
Ich möchte zu Ihrem Anteil beitragen. Wenn Sie sed unter Windows ausführen müssen, können Sie UnxUtils herunterladen und sed.exe in c:\Windows\System32 extrahieren
Wenn Sie dann mit sed pfeifen, wie Sie vorgeschlagen haben, funktioniert es. (Windows 8.1)
Vielen Dank.
wmic NIC where NetEnabled=true get Name, Speed | sed -e s/000000000/Gbit/ | sed -e s/000000\b/Mbit/
Sie können auch verwenden:
cat /sys/class/net/enp6s0/speed
Oder wenn es eth0 ist, um Ihre Geschwindigkeitsverbindung zu bestimmen (100 oder 1000):
cat /sys/class/net/eth0/speed