Windows: Uzyskaj numer interfejsu karty sieciowej

17

Mam następujący problem: Mam serwer z dość dynamiczną konfiguracją sieci i muszę skonfigurować na nim trasy za pomocą parametru IF:

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

Czy istnieje niezawodny sposób, ręczny lub programowy, aby uzyskać ten numer interfejsu, jeśli wiem o wszystkim innym o tym adapterze?

AndreasT
źródło

Odpowiedzi:

22

Możesz zobaczyć te informacje również po uruchomieniu route printpolecenia. To pierwsza wyświetlana rzecz. Indeks jest pierwszą kolumną

===========================================================================
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
źródło
14

Następujące polecenie wyświetla listę interfejsów:

netsh int ipv4 show interfaces

Administrator
źródło
1
To działa, ale powinieneś trochę wyjaśnić swoją odpowiedź, aby upewnić się, że nie jest oznaczona.
TheCleaner
9

Ponieważ wiesz wszystko na temat adaptera, a ponieważ używasz Server 2008, możesz (i powinieneś) po prostu dodać swoje trasy za pomocą netsh, używając nazwy interfejsu:

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

Użycie polecenia trasy jest ogólnie przestarzałe w wersji 2008+.

phoebus
źródło
Nie powiedziałbym, że jest amortyzowany. Zaleca się teraz używanie netsh. :) BTW, twoim poleceniem powinno być „netsh interface ipv4 add route”
Rex
Tak, poruszałem się zbyt szybko, edytowano polecenia :) Chociaż Microsoft rzadko używa terminu „przestarzałe”, uważam, że ich termin był w zasadzie „Zalecane jest użycie polecenia netsh zamiast trasy” w przód. Osobiście widziałem pewne problemy z klastrami podczas korzystania z polecenia route, w których występują problemy z routingiem podczas przełączania awaryjnego.
phoebus
2
Zauważ, że nazwa adatpera może być inna niż nazwa w, route printa użycie niewłaściwej nazwy spowoduje wyświetlenie komunikatu „pomocnego” błędu: „Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest nieprawidłowa”. użyj, netsh interface ipv4 show interfacesaby znaleźć rzeczywistą nazwę.
ET-CS
3

Możesz użyć PowerShell:

Get-WMIObject Win32_networkadapter | Select-Object Name, AdapterType, InterfaceIndex | Format-List
Cuonglm
źródło
Zwraca liczby, ale nie pasują one do route printwyniku. Te DeviceIDwartości również nie pasują. (I nie, to nie jest zwykły problem.)
Jon Seigel
Zgodnie z blogiem MS routepolecenie zwraca priorytet adaptera. To polecenie zwraca interfejs InterfaceIndex. patrz tutaj: blogs.technet.microsoft.com/networking/2015/08/14/…
bobpaul