none
Netzwerk-Verbindungen RRS feed

  • Allgemeine Diskussion

  • Guten Morgen,

    zum dynamischen Umschalten der Netzverbindung brauchen wir unter VB.Net die Angaben zum aktiven Adapter und zum aktiven Router. Einmal die Werte, die man mit ipconfig /all bekommt, und zum anderen die Angaben, die man sieht, wenn man im Systray auf die Verbindungsanzeige klickt (Routernamen z.B. Fritz!Box 7490 und ob verbunden).

    Die Adapter kann ich auslesen mit

            Dim query As ManagementObjectSearcher = New ManagementObjectSearcher(
                "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE' AND Description='" & ListBox1.SelectedItem.ToString() & "'")
            Dim queryCollection As ManagementObjectCollection = query.Get

    wobei ich dabei auch gern wissen möchte, welcher Adapter mit dem Internet verbunden ist. Die IPs im Adapter kann ich auch setzen, z.B. mit

        Private Sub setDNS(ByVal NIC As String, ByVal DNS As String)
            Dim objMC As New ManagementClass("Win32_NetworkAdapterConfiguration")
            Dim objMOC As ManagementObjectCollection = objMC.GetInstances()
    
            For Each objMO As ManagementObject In objMOC
                If CBool(objMO("IPEnabled")) Then
                    If objMO["Caption"].ToString().Contains(NIC)) and pass in the Description property instead of the name 
                    If objMO("Caption").Equals(NIC) Then
                        Try
                            Dim newDNS As ManagementBaseObject = objMO.GetMethodParameters("SetDNSServerSearchOrder")
                            newDNS("DNSServerSearchOrder") = DNS.Split(","c)
                            Dim setDNS As ManagementBaseObject = objMO.InvokeMethod("SetDNSServerSearchOrder", newDNS, Nothing)
                        Catch generatedExceptionName As Exception
                            Throw
                        End Try
                    End If
                End If
            Next
        End Sub

    aber alles andere fehlt mir. Ich habe schon mehrere Namespaces durchforstet, finde aber nicht die entsprechenden Aufrufe. Wäre toll, wenn mir jemand helfen könnte.

    Grüße Norbert

    Montag, 17. Dezember 2018 10:03

Alle Antworten

  • Hallo Norbert,

    Um Netzwerkvorgänge auszuführen, kannst Du den Microsoft.VisualBasic.Devices-Namespace verwenden, wie in diesem Artikel beschrieben:
    My.Computer.Network Object

    Gruß,

    Ivan Dragov


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 18. Dezember 2018 09:44
    Moderator