bj17209 发表于 2010-8-20 14:17:49

au3 怎么才能添加多个IP?

au3 怎么才能添加多个IP?
这个是修改1个IP,怎么才能在现有网卡,现有IP的基础上载加个IP地址啊
Dim $SetIPAddress
$Config_IPAddress = "10.1.1.1"
$Config_Subnetmask = "255.0.0.0"
$SetIPAddress = $Config_IPAddress
Dim $SetSubnetmask
$SetSubnetmask = $Config_Subnetmask
$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$strComputer = "localhost"
$colItems = ""
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE", "WQL", _
                $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
$colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
If IsObj($colItems) Then
        For $objNetAdapter In $colItems
                $objNetAdapter.EnableStatic($SetIPAddress, $SetSubnetmask)
                ;$objNetAdapter.SetGateways ($SetGateway)
                ;$objNetAdapter.SetDNSServerSearchOrder ($SetDns)
        Next
EndIf


谢谢大家了,我急用啊!

xsjtxy 发表于 2010-8-20 14:52:42


Dim $SetIPAddress
$SetIPAddress = "192.168.1.198"
$SetIPAddress = "192.168.1.199"
Dim $SetSubnetmask
$SetSubnetmask = "255.255.255.0"
$SetSubnetmask = "255.255.255.0"


$objWMIService = ObjGet("winmgmts:\\" & "." & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE", "WQL", _
                0x10 + 0x20)
$colComputers = $objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
If IsObj($colItems) Then
      For $objNetAdapter In $colItems
                $objNetAdapter.EnableStatic($SetIPAddress, $SetSubnetmask)
      Next
EndIf

xsjtxy 发表于 2010-8-20 14:59:32

多一个IP。必须再多一个掩码。

想设置多少个都可以。

xsjtxy 发表于 2010-8-20 15:01:27

本帖最后由 xsjtxy 于 2010-8-20 15:03 编辑


Dim $SetIPAddress
$SetIPAddress = "192.168.1.195"
$SetIPAddress = "192.168.1.196"
$SetIPAddress = "192.168.1.197"
$SetIPAddress = "192.168.1.198"
$SetIPAddress = "192.168.1.199"
Dim $SetSubnetmask
$SetSubnetmask = "255.255.255.0"
$SetSubnetmask = "255.255.255.0"
$SetSubnetmask = "255.255.255.0"
$SetSubnetmask = "255.255.255.0"
$SetSubnetmask = "255.255.255.0"


$objWMIService = ObjGet("winmgmts:\\" & "." & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE", "WQL", 0x10 + 0x20)
$colComputers = $objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
If IsObj($colItems) Then
      For $objNetAdapter In $colItems
                $objNetAdapter.EnableStatic($SetIPAddress, $SetSubnetmask)
      Next
EndIf

bj17209 发表于 2010-8-20 16:18:25

那么我怎么设置第一IP,是本机默认IP,只修改第2个ip,第一IP默认不动,怎么写啊,谢谢了,我急用啊

xsjtxy 发表于 2010-8-20 16:21:35

帮人帮到头
Dim $SetIPAddress
$SetIPAddress = @IPAddress1
$SetIPAddress = "192.168.1.199"
Dim $SetSubnetmask
$SetSubnetmask = "255.255.255.0"
$SetSubnetmask = "255.255.255.0"


$objWMIService = ObjGet("winmgmts:\\" & "." & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE", "WQL", _
                0x10 + 0x20)
$colComputers = $objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
If IsObj($colItems) Then
      For $objNetAdapter In $colItems
                $objNetAdapter.EnableStatic($SetIPAddress, $SetSubnetmask)
      Next
EndIf

bj17209 发表于 2010-8-20 19:34:55

现在是IP可以改了,子网掩码还得修改,怎么才能让第一个子网掩码变成默认的啊
Dim $SetIPAddress
$SetIPAddress = @IPAddress1
$SetIPAddress = "192.168.1.199"
Dim $SetSubnetmask
$SetSubnetmask = "255.255.255.0"
$SetSubnetmask = "255.255.255.0"


$objWMIService = ObjGet("winmgmts:\\" & "." & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE", "WQL", _
                0x10 + 0x20)
$colComputers = $objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
If IsObj($colItems) Then
      For $objNetAdapter In $colItems
                $objNetAdapter.EnableStatic($SetIPAddress, $SetSubnetmask)
      Next
EndIf


$SetSubnetmask = "255.255.255.0"

xsjtxy 发表于 2010-8-20 20:33:46

回复 7# bj17209


    默认的是什么意思?

menfan1 发表于 2010-8-21 10:38:24

WMI修改IP需要重启生效吗?

bj17209 发表于 2010-8-21 12:32:23

也就是,不修改机器本身的第一个IP和第一个ip的子网掩码啊,就修改第2个的ip和子网掩码啊,帮帮我啊,急用啊

xsjtxy 发表于 2010-8-21 12:41:17

获取子网可以通过ipconfig /all来。如果纯AU3无法获取的话

bj17209 发表于 2010-8-21 13:06:37

Dim $SetIPAddress
$SetIPAddress = @IPAddress1
$SetIPAddress = "192.168.1.199"
Dim $SetSubnetmask
$SetSubnetmask = "255.255.255.0" 怎么才能不用修改啊!!
$SetSubnetmask = "255.255.255.0"
就想IP1一样不用修改

xsjtxy 发表于 2010-8-21 14:17:47

本帖最后由 xsjtxy 于 2010-8-21 14:39 编辑


#include <Constants.au3>

Dim $SetIPAddress
$SetIPAddress = @IPAddress1
$SetIPAddress = "192.168.1.199"


$foo = Run(@SystemDir&"\ipconfig.exe", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($foo)
$text=StdoutRead($foo)
$text=StringTrimLeft($text, StringInStr($text, "Subnet Mask")+35)
$text=StringLeft($text, StringInStr($text, " ")-4)



if StringLen($text) < 8 then $text = "255.255.255.0"

Dim $SetSubnetmask
$SetSubnetmask = $text
$SetSubnetmask = "255.255.255.0"


$objWMIService = ObjGet("winmgmts:\\" & "." & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE", "WQL", 0x10 + 0x20)
$colComputers = $objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
If IsObj($colItems) Then
      For $objNetAdapter In $colItems
                $objNetAdapter.EnableStatic($SetIPAddress, $SetSubnetmask)
      Next
EndIf

qqmmcc 发表于 2010-8-22 01:45:04

留脚印学习,感谢分享

xgysww 发表于 2010-8-22 10:46:47

学习了,IP地址添加
页: [1] 2
查看完整版本: au3 怎么才能添加多个IP?