So ermitteln Sie die Geschwindigkeit (Fast- oder Gigabit-Ethernet) einer Netzwerkverbindung über die Windows-Befehlszeile

So ermitteln Sie die Geschwindigkeit (Fast- oder Gigabit-Ethernet) einer Netzwerkverbindung über die Windows-Befehlszeile

Um ein Netzwerkproblem zu beheben, möchte ich die tatsächliche Netzwerkgeschwindigkeit für einen bestimmten Netzwerkadapter abfragen, die angezeigt wird, wenn man den „Status“ einer Netzwerkverbindung unter Windows öffnet: Geschwindigkeitseinstellung

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 nicht darauf vertraue, dass der Benutzer die Informationen ordnungsgemäß abruft. Die Einstellung „Geschwindigkeit/Duplux“ der Netzwerkkarte ist immer „Auto Negotiate“, daher kann ich daraus nicht ableiten, welche „Geschwindigkeit“ ich erhalten werde.

Antwort1

Versuchen Sie diese WMI-Abfrage:

wmic NIC where NetEnabled=true get Name,Speed

Damit sollten Sie die Geschwindigkeit aller aktiven Netzwerkverbindungen ermitteln können.

Bearbeiten: Wie bereits erwähnt, muss diese Abfrage geändert werden, damit sie in PowerShell funktioniert (in cmd.exe funktioniert sie jedoch einwandfrei). Andererseits müssen Sie in PowerShell WMI überhaupt nicht verwenden:

Get-NetAdapter | where Status -eq "Up" | select InterfaceDescription, LinkSpeed

Als Bonus wird dadurch die Geschwindigkeit in einem schönen, für Menschen lesbaren Format (z. B. „1 Gbit/s“) und nicht die Anzahl der Bits pro Sekunde angegeben.

Antwort2

Aus Indreks Antwort:

wmic NIC, wobei NetEnabled=true Name, Geschwindigkeit abruft

funktioniert in der Eingabeaufforderung. Für PowerShell verwenden Sie:

wmic NIC where "NetEnabled='true'" get "Name,Speed"

(DerWoKlausel und alleerhaltenAttribut (wie Name und Geschwindigkeit) muss in Anführungszeichen eingeschlossen und durch Kommas getrennt sein).

// Edit #1: GET-Ausdrücke Name,Speed ​​müssen in einfache Anführungszeichen eingeschlossen werden. Zwischen GET-Ausdrücken dürfen keine Leerzeichen stehen.

Antwort3

Ich möchte gerne zu Ihrem Beitrag beitragen. Wenn Sie sed unter Windows ausführen müssen, können Sie UnxUtils herunterladen und dann sed.exe in c:\Windows\System32 extrahieren.

Wenn Sie dann wie vorgeschlagen eine Pipe mit sed verwenden, funktioniert es. (Windows 8.1)

Danke.

wmic NIC where NetEnabled=true get Name, Speed | sed -e s/000000000/Gbit/ | sed -e s/000000\b/Mbit/

Antwort4

Sie können auch Folgendes verwenden:

cat /sys/class/net/enp6s0/speed

Oder wenn es eth0 ist, um Ihre Verbindungsgeschwindigkeit zu bestimmen (100 oder 1000):

cat /sys/class/net/eth0/speed

verwandte Informationen