Spoiler anzeigen
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit];Hier werden die Variabeln definiert
$adapt = RegRead ("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001\Ndi" , "Service")
$speed = IniRead(@ScriptDir & "\Nics.ini" , $adapt , $adapt , "Error")
$delay = IniRead(@ScriptDir & "\Nics.ini" , $adapt , "delay" , "Error")
$MY_IP = @IPAddress1
;Wenn der Netzwerkadapter nicht im Nics.ini vorhanden ist, erscheint diese Fehlermeldung.
if $speed = "Error" Then
MsgBox(0, "Der Eintrag des Netzwerkadapters " & $adapt " besteht nicht. Bitte kontaktieren Sie den Systemadministrator")
else
If $delay = "Error" Then
MsgBox(0, "Der Eintrag des der Geschwindigkeit " & $speed " besteht nicht. Bitte kontaktieren Sie den Systemadministrator")
else
;Nics.ini wird nach $speed durchsucht. Bei Erfolg wird das "delay" von $var1 durch den in der entsprechenden Section Wert ersetzt.
RegWrite ("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001" , $speed , "REG_SZ" , $delay)
EndIf
EndIf
;------------------------------------------------------------------------------------------
; Autor BugFix [email='bugfix@autoit.de'][/email]
;------------------------------------------------------------------------------------------
#include <array.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _ChangeGatewayAndBack($MY_IP, "xxxxxxxxxxx", "192.168.2.1" , $TIMEOUT=-1)
Local $ARGATEWAY = _ArrayCreate("xxxxxxxxxx", "xxxxxxxxxxx")
Local $ARFAKEGATEWAY = _ArrayCreate("192.168.2.1", "192.168.2.1")
Local $TIME, $EMERGENCY = 0, $strComputer = "."
Switch $TIMEOUT
Case -1
$TIME = 1000
Case 0
$EMERGENCY = 1
Case Else
$TIME = $TIMEOUT
EndSwitch
$objWMIService = ObjGet("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colNetCards = $objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
If $EMERGENCY = 0 Then
For $objNetCard in $colNetCards
If $objNetCard.IPAddress(0) = $MY_IP Then
$objNetCard.SetGateways($ARFAKEGATEWAY)
Sleep($TIME)
$objNetCard.SetGateways($ARGATEWAY)
ExitLoop
EndIf
Next
Else
For $objNetCard in $colNetCards
If $objNetCard.IPAddress(0) = $MY_IP Then
$objNetCard.SetGateways($ARFAKEGATEWAY)
ExitLoop
EndIf
Next
EndIf
EndFunc ;==>_ChangeGatewayAndBack