IP ändern am ausgewählten LAN-Adapter

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von zauber777.

    IP ändern am ausgewählten LAN-Adapter

    Hi,

    bisher hatte ich in meinem Projekt meine IP (Statisch / DHCP) per Netsh geändert.

    VB.NET-Quellcode

    1. netsh interface ip set address ""Local Area Connection 2"" static 192.168.255.130 255.255.255.128 192.168.255.129", AppWinStyle.Hide, True)

    Nun ist mir aber aufgefallen, dass es manchmal Probleme gibt mit der IP-Änderungen wenn ich es per Netsh mache. Deswegen wollte ich versuchen es über einen anderen Weg machen. (Betriebssystem = Windows 7 und Windows 10)

    Kennt ihr eine Möglichkeit wie ich an einem von mir ausgewählten LAN-Adapter die IP ändern kann?
    Die Adapter haben folgende Bezeichnung : "Local Area Connection 1" + "Local Area Connection 2" + "Local Area Connection 3"

    VB.NET-Quellcode

    1. Dim LANAdapter As String = TextBox_LANAdapter.Text
    2. Dim IPAddress As String = TextBox_IP.Text
    3. Dim SubnetMask As String = TextBox_Subnet.Text
    4. Dim Gateway As String = TextBox_Gateway.Text
    5. Dim objMC As ManagementClass = New ManagementClass("Win32_NetworkAdapterConfiguration")
    6. Dim objMOC As ManagementObjectCollection = objMC.GetInstances()
    7. For Each objMO As ManagementObject In objMOC
    8. If (Not CBool(objMO("IPEnabled"))) Then
    9. Continue For
    10. End If
    11. Try
    12. Dim objNewIP As ManagementBaseObject = Nothing
    13. Dim objSetIP As ManagementBaseObject = Nothing
    14. Dim objNewGate As ManagementBaseObject = Nothing
    15. objNewIP = objMO.GetMethodParameters("EnableStatic")
    16. objNewGate = objMO.GetMethodParameters("SetGateways")
    17. objNewGate("DefaultIPGateway") = New String() {Gateway}
    18. objNewGate("GatewayCostMetric") = New Integer() {1}
    19. objNewIP("IPAddress") = New String() {IPAddress}
    20. objNewIP("SubnetMask") = New String() {SubnetMask}
    21. objSetIP = objMO.InvokeMethod("EnableStatic", objNewIP, Nothing)
    22. objSetIP = objMO.InvokeMethod("SetGateways", objNewGate, Nothing)
    23. Catch ex As Exception
    24. MessageBox.Show("Fehler : " & ex.Message)
    25. End Try
    26. Next objMO


    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Hi,

    leider hänge ich noch immer in meinem Problem fest...

    Wie verknüpfe ich Deklarationen "objMC" und "objMOC" mit dem LAN-Adapter? (NetworkInterface.GetAllNetworkInterfaces())

    So sieht mein kompletter Code aus aktuell :

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.Net.NetworkInformation
    3. Imports System.Management
    4. Public Class Form1
    5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    6. Dim LAN_Adapter As NetworkInterface
    7. ComboBoxAdapterAuswahl.Items.Clear()
    8. For Each LAN_Adapter In NetworkInterface.GetAllNetworkInterfaces()
    9. With LAN_Adapter
    10. ComboBoxAdapterAuswahl.Items.Add(.Name)
    11. End With
    12. Next
    13. End Sub
    14. Private Sub EinstellunguebernehmenButton_Click(sender As Object, e As EventArgs) Handles EinstellunguebernehmenButton.Click
    15. IPvonLANAdapteraendern()
    16. End Sub
    17. Sub IPvonLANAdapteraendern()
    18. Dim IPAddress As String = TextBoxIPAddress.Text
    19. Dim SubnetMask As String = TextBoxSubnetMask.Text
    20. Dim Gateway As String = TextBoxGateway.Text
    21. If ComboBoxAdapterAuswahl.SelectedText = "Ethernet 2" Then
    22. Dim objMC As ManagementClass = New ManagementClass("Win32_NetworkAdapterConfiguration")
    23. Dim objMOC As ManagementObjectCollection = objMC.GetInstances()
    24. For Each objMO As ManagementObject In objMOC
    25. Try
    26. Dim objNewIP As ManagementBaseObject = Nothing
    27. Dim objSetIP As ManagementBaseObject = Nothing
    28. Dim objNewGate As ManagementBaseObject = Nothing
    29. objNewIP = objMO.GetMethodParameters("EnableStatic")
    30. objNewGate = objMO.GetMethodParameters("SetGateways")
    31. objNewGate("DefaultIPGateway") = New String() {Gateway}
    32. objNewGate("GatewayCostMetric") = New Integer() {1}
    33. objNewIP("IPAddress") = New String() {IPAddress}
    34. objNewIP("SubnetMask") = New String() {SubnetMask}
    35. objSetIP = objMO.InvokeMethod("EnableStatic", objNewIP, Nothing)
    36. objSetIP = objMO.InvokeMethod("SetGateways", objNewGate, Nothing)
    37. Catch ex As Exception
    38. MessageBox.Show("Fehler : " & ex.Message)
    39. End Try
    40. Next objMO
    41. ElseIf ComboBoxAdapterAuswahl.SelectedText = "Ethernet" Then
    42. '.
    43. '.
    44. '.
    45. ElseIf ComboBoxAdapterAuswahl.SelectedText = "LAN-Connection" Then
    46. '.
    47. '.
    48. '.
    49. End If
    50. End Sub


    Könnt ihr mir bitte weiterhelfen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „zauber777“ ()