VB und Änderungen des DNS

  • VB.NET

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

    VB und Änderungen des DNS

    Hallo,

    ich bin neu hier im Forum und als Neuling im Bereich VB zu betrachten. Ich habe zwar schon ein paar kleiner Programme im VB (Studio 2017) geschrieben aber vom gelernten Programmierer bin ich weit weg :/

    Da ich nun seit Tagen via Google keine Lösung (oder Alternative) gefunden habe, versuche ich es zum ersten Mal mit einem Forum :saint: und erhoffe mir die Erleuchtung :thumbsup: .

    Zum Problem:
    Ich betreibe zu Hause eine kleine Domain, welche mit der Vergabe einer statischen DNS in den Einstellungen der Geräte einwandfrei funktioniert. Muss ich so machen, da mein Server nicht auf der 1er IP hängt und somit bei dynamisch nicht gefunden wird.

    Da jetzt aber nicht nur Standrechner sondern nun auch Notebooks dazugekommen sind (welche nun auch auswärts verwendet werden sollten), brauch ich eine Möglichkeit automatisiert zwischen statischem DNS Eintrag und dynamisch zu wechseln.

    Jetzt hab ich mit das Netsh (z.B. netsh interface ipv4 set dnsservers "Ethernet" dhcp) angeschaut welches auch gut funktioniert, wenn man mit runas einen Admin manuell eingibt. Das ist jetzt nicht ganz die Idee die ich hatte :D
    Wenn ich Username und PW als StartInfo definiere, kommt immer nur ein Fehler (System.ComponentModel.Win32Exception: "Der Benutzername oder das Kennwort ist falsch")...

    Hier mal der Code (nur zum Testen dieses Umfanges):

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Prozess("/c netsh interface ipv4 set dnsservers ""Ethernet"" dhcp")
    3. End Sub
    4. Sub Prozess(ByVal Text As String)
    5. Dim p As New Process()
    6. p.StartInfo = New ProcessStartInfo("cmd.exe", Text)
    7. p.StartInfo.CreateNoWindow = True
    8. p.StartInfo.UserName = "Admin"
    9. Dim passwd As String = "12345678"
    10. p.StartInfo.Password = New Security.SecureString
    11. For index = 0 To passwd.Length - 1
    12. p.StartInfo.Password.AppendChar(passwd(index))
    13. Next
    14. p.StartInfo.Domain = "Domainname"
    15. p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    16. p.StartInfo.Verb = "runas"
    17. p.StartInfo.UseShellExecute = False
    18. p.Start()
    19. End Sub


    Jetzt hab ich Unterschiedliches gelesen, davon dass diese Möglichkeit von Microsoft deaktiviert wurde usw. aber eine Lösung hab ich nicht gefunden.

    Vielleicht bin ich auch ganz auf der falschen Fährte und es wäre sooooo einfach, darum gleich mal danke für eure Hilfe/Vorschläge und sorry solle das Thema schon so diskutiert worden sein.

    mfg Christoph