2012-04-16 07:57:40 +0000 2012-04-16 07:57:40 +0000
40
40
Advertisement

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

Advertisement

Zur Fehlersuche bei einem Netzwerkproblem möchte ich die tatsächliche Netzwerk-“Geschwindigkeit” für einen bestimmten Netzwerkadapter abfragen, die beim Öffnen des “Status” einer Netzwerkverbindung unter Windows zu sehen ist:

Allerdings möchte ich dies über die Kommandozeile oder mit einem kleinen, separaten Tool abfragen, da ich dies für mehrere Netzwerkverbindungen abfragen muss und nicht darauf vertraue, dass der Benutzer die Informationen richtig abruft. Die “Speed/Duplux”-Einstellung der Netzwerkkarte ist immer “Auto Negotiate”, also kann ich daraus nicht ablesen, welche “Geschwindigkeit” ich bekommen werde.

Advertisement
Advertisement

Antworten (4)

63
63
63
2012-04-16 08:18:22 +0000

Versuchen Sie diese WMI-Abfrage:

wmic NIC where NetEnabled=true get Name, Speed

Das sollte Ihnen die Geschwindigkeit aller aktiven Netzwerkverbindungen liefern.

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

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

Als Bonus gibt dies die Geschwindigkeit in einem schönen, für den Menschen lesbaren Format aus (z. B. “1 Gbps”), anstatt die Anzahl der Bits pro Sekunde.

6
6
6
2016-06-04 00:36:35 +0000

Aus der Antwort von Indrek:

wmic NIC where NetEnabled=true get Name, Speed

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 gesetzt und durch Kommata getrennt werden).

// Bearbeiten #1: Der GET-Ausdruck Name,Speed muss in einem einzigen Satz doppelter Anführungszeichen eingeschlossen sein. Get-Ausdrücke dürfen kein Leerzeichen dazwischen haben

2
Advertisement
2
2
2015-04-16 16:15:45 +0000
Advertisement

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

entpacken. Wenn Sie dann wie von Ihnen vorgeschlagen mit sed pipen, 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/
-1
-1
-1
2018-09-26 20:55:48 +0000

Sie können auch verwenden:

cat /sys/class/net/enp6s0/speed

Oder wenn es sich um eth0 handelt, um die Verbindungsgeschwindigkeit (100 oder 1000) zu bestimmen:

cat /sys/class/net/eth0/speed

Advertisement

Verwandte Fragen

3
19
3
10
6
Advertisement