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

Hoe de snelheid (fast of gigabit ethernet) van een netwerkverbinding te detecteren via de Windows opdrachtregel

Om een netwerkprobleem op te lossen zou ik graag de echte netwerk “snelheid” voor een bepaalde netwerkadapter willen opvragen, wat te zien is als je de “status” van een netwerkverbinding onder Windows opent:

Ik wil dit echter opvragen via de command line of met een klein, apart tooltje omdat ik dit voor meerdere netwerk verbindingen moet opvragen en er niet op vertrouw dat de gebruiker de informatie goed ophaalt. De netwerkkaart “Speed/Duplux” instelling is altijd “Auto Negotiate”, dus ik kan daaruit niet afleiden welke “Speed” ik zal krijgen.

Antwoorden (4)

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

Probeer deze WMI query:

wmic NIC where NetEnabled=true get Name, Speed

Dat zou je de snelheid moeten geven van alle actieve netwerkverbindingen.

Bewerken: zoals al is opgemerkt, moet deze query worden aangepast om in PowerShell te werken (hij werkt echter prima in cmd.exe). Maar in PowerShell hoef je WMI helemaal niet te gebruiken:

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

Als bonus geeft dit de snelheid in een mooi, menselijk leesbaar formaat (b.v. “1 Gbps”), in plaats van het aantal bits per seconde.

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

Van Indrek’s antwoord:

wmic NIC where NetEnabled=true get Name, Speed

zal werken in de Command Prompt. Voor PowerShell gebruik je:

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

(De where-clausule, en elk get-attribuut (zoals Naam en Snelheid), moeten tussen dubbele aanhalingstekens en door komma’s gescheiden worden geplaatst).

// Bewerk #1: GET expressie Naam,Snelheid moet tussen een enkel stel dubbele aanhalingstekens staan. Get expressies mogen geen spatie tussen aanhalingstekens hebben

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

Ik wil graag bijdragen aan je aandeel. Als je sed in Windows moet draaien, kun je UnxUtils downloaden, dan sed.exe uitpakken in c:WindowsSystem32

Als je dan pijpt met sed zoals je voorstelde, werkt het. (Windows 8.1)

Bedankt.

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

Je kunt ook gebruiken:

cat /sys/class/net/enp6s0/speed

Of als het eth0 is, om je snelheidsverbinding te bepalen (100 of 1000):

cat /sys/class/net/eth0/speed