Hi,
ich schalte meinen LAN-Adapter per Code auf statisch und DHCP.
Nun ist mir aber aufgefallen, dass wenn ich auf DHCP umschalte, dann sieht es zwar in den Eigenschaften des Adapters (Systemsteuerung\Netzwerk und Internet\Netzwerkverbindungen) alles super aus (Haken bei "IP-Adresse automatisch beziehen" und "DNS-Serveradresse automatisch beziehen"), aber wenn ich dann per Commando-Ebene (CMD) per "ipconfig /all" abfrage, steht dann da noch der alte Gateway und auch die IP-Adresse und Subnet stimmen nicht.
Wenn ich dann auf eine statische Adresse umschalte und auf DHCP per Hand in den Eigenschaften des Adapters (Systemsteuerung\Netzwerk und Internet\Netzwerkverbindungen) umstelle, dann passen alle Einstellungen, die der Adapter per DHCP konfiguriert (IP-Adresse, Subnet und Gateway).
Hier mein DHCP-Code :
Ich habe es auch schon versucht, wenn ich per Code auf DHCP umgestellt habe über den Befehl "ipconfig /renew" oder "ipconfig /release" die Einstellungen zu aktualisieren. Dies half aber auch nicht.
Könnt ihr hier weiterhelfen? Woran liegt das Problem?
(ich möchte es nicht per netsh durchführen, sondern per Code)
ich schalte meinen LAN-Adapter per Code auf statisch und DHCP.
Nun ist mir aber aufgefallen, dass wenn ich auf DHCP umschalte, dann sieht es zwar in den Eigenschaften des Adapters (Systemsteuerung\Netzwerk und Internet\Netzwerkverbindungen) alles super aus (Haken bei "IP-Adresse automatisch beziehen" und "DNS-Serveradresse automatisch beziehen"), aber wenn ich dann per Commando-Ebene (CMD) per "ipconfig /all" abfrage, steht dann da noch der alte Gateway und auch die IP-Adresse und Subnet stimmen nicht.
Wenn ich dann auf eine statische Adresse umschalte und auf DHCP per Hand in den Eigenschaften des Adapters (Systemsteuerung\Netzwerk und Internet\Netzwerkverbindungen) umstelle, dann passen alle Einstellungen, die der Adapter per DHCP konfiguriert (IP-Adresse, Subnet und Gateway).
Hier mein DHCP-Code :
VB.NET-Quellcode
- Public Sub DHCP_LANAdapter()
- Dim tmpAdapter As NetworkInterface = DirectCast(MainWindow.ComboBox_LAN_Adapter.SelectedItem, NetworkInterface)
- Dim objMC As ManagementClass = New ManagementClass("Win32_NetworkAdapterConfiguration")
- Dim objMOC As ManagementObjectCollection = objMC.GetInstances()
- For Each objMO As ManagementObject In objMOC
- If objMO.GetPropertyValue("SettingID").ToString = tmpAdapter.Id Then
- Try
- Dim objNewIP As ManagementBaseObject = Nothing
- Dim objSetIP As ManagementBaseObject = Nothing
- Dim objNewDNS As ManagementBaseObject = Nothing
- Dim objSetDNS As ManagementBaseObject = Nothing
- objNewIP = objMO.GetMethodParameters("EnableDHCP")
- objSetIP = objMO.InvokeMethod("EnableDHCP", Nothing, Nothing)
- objNewDNS = objMO.GetMethodParameters("SetDNSServerSearchOrder")
- objSetDNS = objMO.InvokeMethod("SetDNSServerSearchOrder", Nothing, Nothing)
- SetDNSAutomatically(objMO.GetPropertyValue("settingID").ToString)
- Catch ex As Exception
- MessageBox.Show("Settings unchanged : " & ex.Message)
- End Try
- End If
- Next objMO
- End Sub
- Const conKeyPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
- Public Sub SetDNSAutomatically(ByVal settingID As String)
- If settingID = String.Empty Then
- Throw New ArgumentNullException("settingID")
- End If
- Dim _adapterKeyPath = String.Format("{0}\{1}", conKeyPath, settingID)
- My.Computer.Registry.SetValue(_adapterKeyPath, "NameServer", String.Empty)
- End Sub
Ich habe es auch schon versucht, wenn ich per Code auf DHCP umgestellt habe über den Befehl "ipconfig /renew" oder "ipconfig /release" die Einstellungen zu aktualisieren. Dies half aber auch nicht.
Könnt ihr hier weiterhelfen? Woran liegt das Problem?
(ich möchte es nicht per netsh durchführen, sondern per Code)