Windows: Obtenez le numéro d'interface d'une carte réseau


17

J'ai le problème suivant: J'ai un serveur avec une configuration réseau plutôt dynamique et j'ai besoin de configurer des routes dessus avec le paramètre IF:

route add  ... mask ... ... if ?

Existe-t-il un moyen fiable, manuel et ou programmatique, d'obtenir ce numéro d'interface si je connais à peu près tout le reste de cet adaptateur?

Réponses:


22

Vous pouvez également voir ces informations lorsque vous exécutez la route printcommande. C'est la première chose affichée. L'index est la première colonne

===========================================================================
Interface List
 13... ......Bluetooth Device (Personal Area Network)
 10... ......Intel(R) 82566MM Gigabit Network Connection
 11... ......Intel(R) Wireless WiFi Link 4965AG
 17... ......VMware Virtual Ethernet Adapter for VMnet1
 18. . ......VMware Virtual Ethernet Adapter for VMnet8

14

La commande suivante affiche la liste des interfaces:

netsh int ipv4 show interfaces


1
Cela fonctionne, mais vous devriez expliquer un peu votre réponse pour vous assurer qu'elle n'est pas signalée.
TheCleaner

9

Puisque vous savez tout sur l'adaptateur et que vous utilisez Server 2008, vous pouvez (et devez) simplement ajouter vos routes avec netsh en utilisant le nom de l'interface:

netsh int ipv4 add route <remote netid>/<remote netmask> <interface name> <next hop>

L'utilisation de la commande route est généralement déconseillée en 2008+.


Je ne dirais pas qu'il est déprécié .. il est juste plus recommandé d'utiliser netsh maintenant. :) BTW, votre commande devrait être "netsh interface ipv4 add route"
Rex

Ouais se déplaçait trop rapidement, commande modifiée :) Bien que Microsoft utilise rarement le terme "obsolète", je pense que leur terme était essentiellement "Il est recommandé d'utiliser netsh au lieu de l'itinéraire". J'ai personnellement vu des problèmes avec les clusters lors de l'utilisation de la commande route, dans lesquels des problèmes de routage se produisent lors du basculement.
phoebus

2
Notez que le nom de l'adatper peut être différent de celui dans route printet l'utilisation d'un nom incorrect entraînera le message d'erreur "utile": "Le nom de fichier, le nom du répertoire ou la syntaxe de l'étiquette de volume est incorrect.". utiliser netsh interface ipv4 show interfacespour trouver le nom réel.
ET-CS

3

Vous pouvez utiliser PowerShell:

Get-WMIObject Win32_networkadapter | Select-Object Name, AdapterType, InterfaceIndex | Format-List

Cela renvoie des nombres, mais ils ne correspondent pas à la route printsortie. Les DeviceIDvaleurs ne correspondent pas non plus. (Et non, ce n'est pas simplement un problème
isolé

Selon le blog MS, la routecommande renvoie la priorité de l'adaptateur. Cette commande renvoie l'InterfaceIndex. voir ici: blogs.technet.microsoft.com/networking/2015/08/14/…
bobpaul
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.