но в этой строке errEnable = objNetCard.EnableStatic(arrIPAddress, arrSubnetMask) используется сам массив, а не отдельный элемент
В таком исполнении работать не хочет, при этом с точки Sys.onData1 получаю нужный элемент
Sub doWork (Data, Index)
Set ip1 = sys.ip1
Set mask = sys.mask
Set gate1 = sys.gate1
dns1 = sys.dns1
dns2 = sys.dns2
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & " ootcimv2")
Set colNetCards = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
On Error Resume Next
For Each objNetCard in colNetCards
arrDNSServers = Array(dns1, dns2)
errEnable = objNetCard.EnableStatic(ip1, mask)
errGateways = objNetCard.SetGateways(gate1)
objNetCard.SetDNSServerSearchOrder(arrDNSServers)
Next
Sys.onData1 (ip1.get(0))
End Sub
Скрипт который ниже работает, только массив тут собирается внутри скрипта arrIPAddress = Array(ip1, ip2), в чем разница между массивами?
Sub doWork (Data, Index)
ip1 = sys.ip1
ip2 = sys.ip2
mask = sys.mask
gate1 = sys.gate1
dns1 = sys.dns1
dns2 = sys.dns2
arrIPAddress = Array(ip1, ip2)
arrSubnetMask = Array(mask, mask)
arrGateways = Array(gate1)
arrDNSServers = Array(dns1, dns2)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & " ootcimv2")
Set colNetCards = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
On Error Resume Next
For Each objNetCard in colNetCards
errEnable = objNetCard.EnableStatic(arrIPAddress, arrSubnetMask)
errGateways = objNetCard.SetGateways(arrGateways)
objNetCard.SetDNSServerSearchOrder(arrDNSServers)
Next
Sys.onData1 "1"
End Sub
Еще раз уточняю сетевая карта одна, а присвоить айпиадресов мне нужно от 1 до 64.