开发和测试环境处于不同的网段,经常需要更改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