WMI - Mehrere Daten auslesen

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von syntax868.

    WMI - Mehrere Daten auslesen

    Moin!

    Ich habe mal eine Frage zu WMI.
    Ich verwende das ja in meinem Programm (Core Read, siehe Showroom). Aber nun frage ich mich, wie ich nun Daten aus mehreren Spalten auslesen.

    In der Konsole sieht das zum Beispiel so aus:


    Jetzt möchte ich zum Beispiel aus Reihe 1 auslesen (BANK0) und dann aus Reihe 2 (BANK1).
    Nur irgendwie will mir (aus welchen Gründen auch immer) gerade nicht klar werden, wie man so auslesen kann, wenn die z.B die Anzahl der Reihen unbekannt ist.

    Könnt Ihr mir bitte helfen? ;(

    lg
    FranzBauer
    Ich hasse es wenn einem direkt vorgeworfen wird, ohne dass die Frage überhaupt durchgelesen wurde, dass man nur fertien Code will. Schade dass es sich hier so entwickelt hat :(
    "Windows Vista Home Premium x32" - Wann kapieren endlich alle, dass es kein "x32" gibt? 32 Bit oder x86!
    Es sei fairer weise dazu gesagt das es nicht mein eigener Code ist, ich habe ihn im Internet gefunden und eingebaut.

    VB.NET-Quellcode

    1. Imports System
    2. Imports System.Management
    3. Public Class Form1
    4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    5. Try
    6. Dim Win32_NetworkAdapter As String = "Win32_NetworkAdapter" ' wo soll gesucht werden?
    7. Dim Name As String = "Name" 'was suche ich?
    8. Dim searcher As New ManagementObjectSearcher( _
    9. "root\CIMV2", _
    10. "SELECT * FROM " & Win32_NetworkAdapter)
    11. For Each queryObj As ManagementObject In searcher.Get()
    12. Try
    13. Label1.Text = (queryObj(Name))
    14. Catch
    15. End Try
    16. Next
    17. Catch err As ManagementException
    18. MessageBox.Show("An error occurred while querying for WMI data: " & err.Message)
    19. End Try
    20. End Sub
    21. End Class


    Versuche ich nun den Adapter-Namen auszulesen, dann erhalte ich den Namen "Teredo Tunneling Pseudo-Interface". Das ist die letzte Ausgabe, welche ich erhalte wenn ich im WMI Code generator auf "Execute Code" klicke. Von den 12 ausgegebenen Namen wäre aber Nummer 8 der "richtige".
    Und was wäre nötig um nur einen Eintrag zu erhalten? Ich habe mal ein Bild angefertigt wie das ganze aktuell aussieht, benötigt wird aber in diesem Fall nur der Eintrag "Realtek PCIe GBE Family Controller".
    Das gleiche Problem rgibt sich z.B. auch beim auslesen der IP oder MAC-Adresse, ich erhalte sehr viel Output aber nur eines davon kann ich gebrauchen.
    Bilder
    • adapter.png

      27,29 kB, 671×526, 145 mal angesehen