Windows: Ruft die Schnittstellennummer einer Netzwerkkarte ab

16

Ich habe das folgende Problem: Ich habe einen Server mit einer ziemlich dynamischen Netzwerkkonfiguration und muss Routen darauf mit dem IF-Parameter konfigurieren:

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

Gibt es einen zuverlässigen Weg, manuell oder programmatisch, um diese Schnittstellennummer zu erhalten, wenn ich nur über alles andere über diesen Adapter Bescheid weiß?

AndreasT
quelle

Antworten:

22

Sie können diese Informationen auch sehen, wenn Sie den route printBefehl ausführen . Es ist das erste, was angezeigt wird. Der Index ist die erste Spalte

===========================================================================
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
quelle
14

Der folgende Befehl zeigt die Liste der Schnittstellen an:

netsh int ipv4 show interfaces

Administrator
quelle
1
Dies funktioniert, aber Sie sollten Ihre Antwort ein wenig erläutern, um sicherzustellen, dass sie nicht markiert ist.
TheCleaner
9

Da Sie alles andere über den Adapter wissen und Server 2008 verwenden, können (und sollten) Sie Ihre Routen einfach mit netsh unter Verwendung des Schnittstellennamens hinzufügen :

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

Die Verwendung des Befehls route wird in der Regel ab 2008 nicht mehr empfohlen.

phoebus
quelle
Ich würde nicht sagen, dass es abgeschrieben ist. Es wird nur mehr empfohlen, jetzt Netsh zu verwenden. :) Übrigens sollte Ihr Befehl "Netsh-Schnittstelle IPV4-Route hinzufügen" sein
Rex
Ja, bewegte sich zu schnell, Befehl bearbeitet :) Während Microsoft selten den Begriff "veraltet" verwendet, glaube ich, dass der Begriff im Grunde "Es wird empfohlen, Netsh anstelle von Route" zu verwenden. Ich persönlich habe bei der Verwendung des Befehls route einige Probleme mit Clustern festgestellt, bei denen beim Failover Routing-Probleme auftreten.
Phoebus
2
Beachten Sie, dass sich der Adatper-Name möglicherweise von dem in unterscheidet route printund die Verwendung des falschen Namens die Fehlermeldung "Hilfreich" zur Folge hat: "Der Dateiname, der Verzeichnisname oder die Datenträgerbezeichnungssyntax sind falsch." Verwenden Sie netsh interface ipv4 show interfaces, um den tatsächlichen Namen zu finden.
ET-CS
3

Sie können PowerShell verwenden:

Get-WMIObject Win32_networkadapter | Select-Object Name, AdapterType, InterfaceIndex | Format-List
cuonglm
quelle
Das gibt Zahlen zurück, aber sie stimmen nicht mit der route printAusgabe überein . Die DeviceIDWerte stimmen auch nicht überein. (Und nein, es ist nicht nur eine
Einzelausgabe
Laut MS-Blog gibt der routeBefehl die Adapterpriorität zurück. Dieser Befehl gibt den InterfaceIndex zurück. Siehe hier: blogs.technet.microsoft.com/networking/2015/08/14/…
Bobpaul