Ip Adresse ändern durch Registry

  • Hallo

    Ich möchte meine IP, das Standart Gateway, die Subnetzmaske usw mit Hilfe von AutoIt ändern.

    Bis jez bin Ich soweit gekommen, dass Ich per Knopfdruck in einer GUI die jeweiligen Adressen/Werte auslese und anzeigen lasse.

    Nur wenn ich die Werte ändern will, passiert nichts.

    Ich hab mal die Funktion zum Ändern der Werte mitgegeben.

    Die Variablen $reg und $reg2 stehen für die Unterschlüssel. Die lass Ich mit einer anderen Funktion auslesen. Funktioniert auch problemlos.

    [autoit][/autoit][autoit][/autoit][autoit]

    Func daten_aendern()


    GUICtrlRead ($IP_)
    GUICtrlRead ($Subnetz_)
    GUICtrlRead ($Gateway_)
    GUICtrlRead ($DNS_1)
    GUICtrlRead ($DNS_2)
    GUICtrlRead ($WINS_1)
    GUICtrlRead ($WINS_2)


    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\" &$reg, "IPAddress", "REG_MULTI_SZ", $IP_)
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\" &$reg, "SubnetMask", "REG_MULTI_SZ" , $Subnetz_ )
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\" &$reg, "DefaultGateway", "REG_MULTI_SZ", $Gateway_)
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\" &$reg, "NameServer", "REG_SZ", $DNS_1 & "," & $DNS_2)
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces\" &$reg2, "NameServerList", "REG_MULTI_SZ", $WINS_1 & @CRLF & $WINS_2)

    [/autoit][autoit][/autoit][autoit]


    EndFunc

    [/autoit]
  • Das müsste so sein. Natürlich nur wenn die Schlüssel stimmen.

    Spoiler anzeigen
    [autoit]

    Func daten_aendern()

    [/autoit] [autoit][/autoit] [autoit]

    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\" & $reg, "IPAddress", "REG_MULTI_SZ", GUICtrlRead($IP_))
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\" & $reg, "SubnetMask", "REG_MULTI_SZ", GUICtrlRead($Subnetz_ ))
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\" & $reg, "DefaultGateway", "REG_MULTI_SZ", GUICtrlRead($Gateway_))
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\" & $reg, "NameServer", "REG_SZ", GUICtrlRead($DNS_1) & "," & GUICtrlRead($DNS_2))
    RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces\" & $reg2, "NameServerList", "REG_MULTI_SZ", GUICtrlRead($WINS_1) & @CRLF & GUICtrlRead($WINS_2))

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]


    Gruss Shadowigor

  • Funktioniert leider auch nicht.

    Wenn Ich die IP usw auslesen will funtioniert das.
    Da benutze ich auch die variablen $reg und $reg2.

    Aber Irgendwie wird in die Registry nichts reingeschrieben.

  • Mittlerweile hab ich rausgefunden was das Problem war.

    Habs mal als Admin ausgeführt und dann gings :cursing:

    Trozdem Vielen Dank für die Hilfe :party: