Microsoft links to this example code:
Code: Select all
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNetCards = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each objNetCard in colNetCards
arrGateways = Array("192.168.1.100", "192.168.1.200")
objNetCard.SetGateways(arrGateways)
Next
Code: Select all
objWMIService := ComObjGet("winmgmts:{impersonationLevel = impersonate}!\\.\root\cimv2")
colItems := objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For objItem in colItems {
MsgBox, % "Description:`t" objItem.Description[0] "`n"
. "IPAddress:`t`t" objItem.IPAddress[0] "`n"
. "IPSubnet:`t`t" objItem.IPSubnet[0] "`n"
. "DefaultIPGateway:`t" objItem.DefaultIPGateway[0] "`n"
. "DNS-Server:`t" objItem.DNSServerSearchOrder[0] "`n"
. "MACAddress:`t" objItem.MACAddress "`n"
. "DHCPEnabled:`t" objItem.DHCPEnabled[0] "`n" ; 0 = Yes | -1 = No
If (objItem.DHCPEnabled[0] = 0) {
oldGateway := objItem.DefaultIPGateway[0] ;Save old gateway
objItem.SetGateways(["192.168.200.252"]) ;Set a new Gateway
objItem.SetGateways([oldGateway]) ;Restore old Gateway
}
}
Code: Select all
Error: 0x80041001 -
Source: SWbemObjectEx
Description: Generic failure
HelpFile: (null)
HelpContext: 0
Specifically: SetGateways