用vbs自动切换不同网段的IP
开发和测试环境处于不同的网段,经常需要更改IP,手工修改非常麻烦。后来找到了一个vbs小脚本,实现了自动切换。
假如IP段分别为192.168.30.*和192.168.41.*
分别新添两个文件Turn30.vbs和Turn41.vbs ,内容如下:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress = Array("192.168.30.99")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.30.254")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress = Array("192.168.30.99")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.30.254")
strDNS = Array("192.168.30.254")
strGatewayMetric = Array(1)
strGatewayMetric = Array(1)
strDNS2 = Array(1)
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS=objNetAdapter.SetDNSServerSearchOrder(strDNS,strDNS2)
If errEnable = 0 Then
WScript.Echo "The IP address has been changed to "&strIPAddress(0)
Else
WScript.Echo "The IP address could not be changed."
End If
Next
If errEnable = 0 Then
WScript.Echo "The IP address has been changed to "&strIPAddress(0)
Else
WScript.Echo "The IP address could not be changed."
End If
Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress = Array("192.168.41.52")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.41.1")
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress = Array("192.168.41.52")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.41.1")
strDNS = Array("192.168.41.254")
strGatewayMetric = Array(1)
strDNS2 = Array(1)strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS=objNetAdapter.SetDNSServerSearchOrder(strDNS,strDNS2)
If errEnable = 0 Then
WScript.Echo "The IP address has been changed to "&strIPAddress(0)
Else
WScript.Echo "The IP address could not be changed."
End If
Next
If errEnable = 0 Then
WScript.Echo "The IP address has been changed to "&strIPAddress(0)
Else
WScript.Echo "The IP address could not be changed."
End If
Next
使用方法:直接双击Turn30.vbs或Turn41.vbs即可执行。
参考网站:
http://www.microsoft.com/china/technet/community/scriptcenter/network/scrnet01.mspx