Windows: obtenga el número de interfaz de una NIC

17

Tengo el siguiente problema: tengo un servidor con una configuración de red bastante dinámica y necesito configurar rutas con el parámetro IF:

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

¿Hay alguna forma confiable, manual o programática, de obtener ese número de interfaz si conozco todo lo demás sobre ese adaptador?

AndreasT
fuente

Respuestas:

22

También puede ver esa información cuando ejecuta el route printcomando. Es lo primero que se muestra. El índice es la primera columna.

===========================================================================
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
Rex
fuente
14

El siguiente comando muestra la lista de interfaces:

netsh int ipv4 show interfaces

Administración
fuente
1
Esto funciona, pero debe exponer un poco su respuesta para asegurarse de que no esté marcada.
TheCleaner
9

Como sabe todo lo demás sobre el adaptador, y como está utilizando Server 2008, puede (y debería) simplemente agregar sus rutas con netsh utilizando el nombre de la interfaz:

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

El uso del comando de ruta generalmente está en desuso en 2008+.

Febo
fuente
No diría que está depreciado ... es más recomendable usar netsh ahora. :) Por cierto, su comando debe ser "netsh interface ipv4 add route"
Rex
Sí, se estaba moviendo demasiado rápido, comando editado :) Si bien Microsoft rara vez usa el término "obsoleto", creo que su término era básicamente "Se recomienda usar netsh en lugar de la ruta" para avanzar. Personalmente, he visto algunos problemas con los clústeres al usar el comando de ruta, en el que se producen problemas de enrutamiento en la conmutación por error.
phoebus
2
Tenga en cuenta que el nombre de adatper puede ser diferente del que aparece route printy usar un nombre incorrecto dará como resultado el mensaje de error "útil": "El nombre de archivo, el nombre del directorio o la sintaxis de la etiqueta de volumen son incorrectos". use netsh interface ipv4 show interfacespara encontrar el nombre real.
ET-CS
3

Puedes usar PowerShell:

Get-WMIObject Win32_networkadapter | Select-Object Name, AdapterType, InterfaceIndex | Format-List
Cuonglm
fuente
Esto devuelve números, pero no coinciden con la route printsalida. Los DeviceIDvalores tampoco coinciden. (Y no, no se trata simplemente de un problema
individual
Según el blog de MS, el routecomando devuelve la prioridad del adaptador. Este comando devuelve el InterfaceIndex. ver aquí: blogs.technet.microsoft.com/networking/2015/08/14/…
bobpaul