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

Comment détecter la vitesse (rapide ou gigabit ethernet) d'une connexion réseau sur la ligne de commande Windows

Pour résoudre un problème de réseau, je voudrais demander la “vitesse” réelle du réseau pour un adaptateur réseau donné, qui peut être vue en ouvrant le “statut” d'une connexion réseau sous Windows :

Cependant, je veux demander cela en ligne de commande ou avec un petit outil séparé parce que je dois le demander pour plusieurs connexions réseau et que je ne fais pas confiance à l'utilisateur pour aller chercher l'information correctement. Le paramètre “Speed/Duplux” de la carte réseau est toujours “Auto Negotiate”, donc je ne peux pas dire à partir de là quelle “Speed” je vais obtenir.

Réponses (4)

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

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.

Edit : comme cela a été souligné, cette requête doit être modifiée pour fonctionner dans PowerShell (elle fonctionne bien dans cmd.exe cependant). De plus, dans PowerShell, vous n'avez pas besoin d'utiliser WMI :

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

En bonus, cela donne la vitesse dans un format agréable et lisible par l'homme (par exemple “1 Gbps”), plutôt que le nombre de bits par seconde.

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

D'après la réponse d'Indrek :

wmic NIC où NetEnabled=true get Name, Speed

fonctionnera dans l'invite de commande. Pour utilisation avec PowerShell :

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

(La clause where, et tout attribut get (comme Nom et Vitesse), doivent être entre guillemets et séparés par des virgules).

// Edition n°1 : L'expression GET Nom,Vitesse doit être entourée d'un seul jeu de guillemets doubles. Les expressions GET ne doivent pas être séparées par un espace.

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

J'aimerais contribuer à votre part. Si vous avez besoin d'exécuter sed sous Windows, vous pouvez télécharger UnxUtils, puis extraire sed.exe dans c:\Windows\System32

Ensuite, lorsque vous pipez avec sed comme vous l'avez suggéré, ça marche. (Windows 8.1)

Merci.

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

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.