43 votes

Comment détecter la vitesse (Ethernet rapide ou Gigabit) d'une connexion réseau via la ligne de commande Windows

Pour résoudre un problème de réseau, je voudrais connaître la véritable "vitesse" du réseau pour un adaptateur réseau donné, ce qui peut être vu lors de l'ouverture de l'"état" d'une connexion réseau sous Windows : Paramètre de vitesse

Cependant, je veux obtenir cette information en ligne de commande ou avec un petit outil séparé car j'ai besoin de demander cela pour plusieurs connexions réseau et je ne fais pas confiance à l'utilisateur pour obtenir correctement l'information. Le paramètre "Vitesse/Duplex" de la carte réseau est toujours "Négociation automatique", donc je ne peux pas dire quelle sera la "vitesse" que j'obtiendrai.

68voto

Indrek Points 23336

Essayez cette requête WMI :

wmic NIC where NetEnabled=true get Name,Speed

Cela devrait vous donner la vitesse de toutes les connexions réseau actives.

Édition : Comme cela a été souligné, cette requête doit être modifiée pour fonctionner dans PowerShell (elle fonctionne bien dans cmd.exe cependant). Cependant, dans PowerShell, vous n'avez pas besoin d'utiliser WMI du tout :

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

En bonus, cela donne la vitesse dans un format agréable et lisible par les humains (par exemple, "1 Gbps"), plutôt que le nombre de bits par seconde.

6voto

Tom Points 161

De la réponse d'Indrek :

wmic NIC where NetEnabled=true get Name, Speed

fonctionnera dans l'invite de commandes. Pour PowerShell, utilisez :

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

(La clause where, et tout attribut get (comme Name et Speed), doivent être enclos entre guillemets doubles et séparés par des virgules).

// Éditer #1 : l'expression GET Name,Speed doit être encadrée par un seul jeu de guillemets doubles. Les expressions Get ne doivent pas avoir d'espace entre elles

2voto

Je voudrais contribuer à votre partage. Si vous devez exécuter sed sous Windows, vous pouvez télécharger UnxUtils, puis extraire sed.exe dans c:\Windows\System32

Ensuite, lorsque vous utilisez sed comme vous l'avez suggéré, cela fonctionne. (Windows 8.1)

Merci.

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

-1voto

Waterseas Points 2446

Vous pouvez également utiliser :

cat /sys/class/net/enp6s0/speed

Ou quand c'est eth0, pour déterminer votre vitesse de connexion (100 ou 1000) :

cat /sys/class/net/eth0/speed

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X