Netzwerkkarte Index immer gleich



  • Hi,

    ich versuche gerade über WMI die Netzwerkadapterinformationen auszulesen. Insgesamt besitzt jedes System stets zwei Netzwerkkarten eingebaut - immer an der gleichen Position (Steckplatz im Rechner). Kann man dann sicher davon ausgehen, dass sich der Index der Netzwerkkarten niemals ändern wird?

    Bzw. über welchen Parameter bekomme ich mittels WMI immer die richtige (erste oder zweite Netzwerkkarte) als Ergebnis angezeigt?

    Oder ist es besser den InterfaceIndex anstatt den Index Value zu verwenden?

    Gruß
    Patrick



  • Nein. Man kann nicht davon ausgehen. Das einfachste ist, wenn Du den eindeutigen Kurznamen verwendest um den Index zu ermitteln. Diesen kannst Du dann verwenden...



  • Jochen Kalmbach schrieb:

    Nein. Man kann nicht davon ausgehen. Das einfachste ist, wenn Du den eindeutigen Kurznamen verwendest um den Index zu ermitteln. Diesen kannst Du dann verwenden...

    Vielen Dank für deine Antwort: mir Kurznamen meinst du den Namen der Ethernet-Verbindung alias "Lan-Verbindung 1" welchen man über NetConnectionID ermittlen kann?



  • Nein, damit meine ich den "ServiceName". Alle anderen Namen können je nach OS Version und Sprachversion unterschieldich sein. Der "ServiceName" ist der einzige der gleich bleibt...

    Hier z.B. die Ausgabe von Win32_NetworkAdapter:

    AdapterType: Ethernet 802.3
    AdapterTypeId: 0
    Availability: 3
    Caption: [00000007] Intel(R) 82562GT 10/100 Network Connection
    ConfigManagerErrorCode: 0
    ConfigManagerUserConfig: False
    CreationClassName: Win32_NetworkAdapter
    Description: Intel(R) 82562GT 10/100 Network Connection
    DeviceID: 7
    GUID: {907A3872-0B43-4EEE-9A49-2C290737BD57}
    Index: 7
    Installed: True
    InterfaceIndex: 11
    MACAddress: 00:19:D1:xx:xx:xx
    Manufacturer: Intel
    MaxNumberControlled: 0
    Name: Intel(R) 82562GT 10/100 Network Connection
    NetConnectionID: LAN-Verbindung
    NetConnectionStatus: 2
    NetEnabled: True
    PhysicalAdapter: True
    PNPDeviceID: PCI\VEN_8086&DEV_104C&SUBSYS_01DD1028&REV_02\3&172E68DD&0&C8
    PowerManagementSupported: False
    ProductName: Intel(R) 82562GT 10/100 Network Connection
    ServiceName: e1express
    Speed: 100000000
    SystemCreationClassName: Win32_ComputerSystem
    SystemName: CORE2DUO
    TimeOfLastReset: 20101030145456.359599+120

    Und ich würde einfach ein Enum aller Netzwerkkarten machen, nach dem passenden ServiceName suchen und dann hast Du ja den Index bzw. den Namen mit dem Du dann weitere Dinge machen kannst..

    PS: ich mache hier viele Dinge via "netsh" und ermittle mir nur die "NetConnectionID" die man bei netsh braucht. Dazu hab ich ein kleines Consolen-Programm geschrieben, welche die ServiceName bekommt und den NetConnectionID ausgibt. Der rest erledigt eine Batch-Datei mit netsh.


Anmelden zum Antworten