这是第一个版本,就是实现换IP功能,只换第一个发现的,如果只有一个网卡的话可以用这个
view plaincopy to clipboardprint?
'/*=========================================================================
' * Intro 通过 WMI 改变网卡的IP地址 vbs版
' * FileName ChangeIP.vbs
' * Author yongfa365
' * Version v1.1
' * WEB http://www.yongfa365.com
' * Email yongfa365@qq.com
' * FirstWrite http://www.yongfa365.com/item/Use-WMi-Change-IP-VBS-yongfa365.html
' * LastModify 2007-12-29 13:57:50
' *==========================================================================*/
strIPAddress = Array("192.168.0.100","192.168.0.106") '修改后的ip,多个IP可以以","格开,可以写多个
strSubnetMask = Array("255.255.255.0","255.255.255.0") '子网掩码,配置同IP
strGateway = Array("192.168.0.1") '网关
arrDNSServers = Array("192.168.0.1", "221.12.1.228")'DNS,可以写多个
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
'msgbox colnetadapters.count'看下有几块网卡
'sip = Join(objNetAdapter.IPAddress, ",") '得到原来的ip
'strIPAddress = sip '保持原来的ip
strGatewayMetric = Array(1)
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
If errEnable = 0 Then
WScript.Echo "IP修改成功"
Else
WScript.Echo "IP修改失败"
End If
Exit For '只修改第一个网卡的设置
Next
这是第二个版本,遍历所有网卡,如果这个网卡的IP里包含"116.90.185"的话,就换这个IP,比较智能化,当初设计出来是为了在移客户机器时,重启后会自动执行“启动”里的这个脚本,后来证明不成,因为客户没法登录,“启动”里的东西没法运行所以也就没法改IP了。
view plaincopy to clipboardprint?
'/*=========================================================================
' * Intro 通过 WMI 改变网卡的IP地址 vbs版
' * FileName ChangeIP.vbs
' * Author yongfa365
' * Version v2.0
' * WEB http://www.yongfa365.com
' * Email yongfa365@qq.com
' * FirstWrite http://www.yongfa365.com/item/Use-WMi-Change-IP-VBS-yongfa365.html
' * LastModify 2007-12-31 14:57:50
' *==========================================================================*/
strIPAddress = Array("66.66.66.7") '修改后的ip,多个IP可以以","格开,可以写多个
strSubnetMask = Array("255.255.255.224") '子网掩码,配置同IP
strGateway = Array("66.66.66.1") '网关
arrDNSServers = Array("66.233.9.9")'DNS,可以写多个
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
sip = Join(objNetAdapter.IPAddress, ",")
if instr(sip,"116.90.185")<>0 then
strGatewayMetric = Array(1)
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
end if
Next
这是第三个版本,遍历所有网卡,如果这个网卡的IP里包含"116.90.185" 并且 时间到了预先设定好的时间,就换这个IP,测试成功,唯一不足的地方是,在运行这个脚本后不能重启机器,重启后这个脚本就运行不了了。但总的来说这个是最适用的。
view plaincopy to clipboardprint?
'/*=========================================================================
' * Intro 通过 WMI 改变网卡的IP地址 vbs版
' * FileName ChangeIP.vbs
' * Author yongfa365
' * Version v1.0
' * WEB http://www.yongfa365.com
' * Email yongfa365@qq.com
' * FirstWrite http://www.yongfa365.com/item/Use-WMi-Change-IP-VBS-yongfa365.html
' * LastModify 2007-1-3 14:57:50
' *==========================================================================*/
strIPAddress = Array("66.66.66.7") '修改后的ip,多个IP可以以","格开,可以写多个
strSubnetMask = Array("255.255.255.224") '子网掩码,配置同IP
strGateway = Array("66.66.66.1") '网关
arrDNSServers = Array("66.233.9.9")'DNS,可以写多个
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
sip = Join(objNetAdapter.IPAddress, ",")
if instr(sip,"116.90.185")<>0 then
do while 1
if (now-#2008-1-3 23:00:00#) >0 then '关机时间
strGatewayMetric = Array(1)
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
exit do
else
Wscript.Sleep 60*1000
end if
loop
end if
Next
view plaincopy to clipboardprint?
'/*=========================================================================
' * Intro 通过 WMI 改变网卡的IP地址 vbs版
' * FileName ChangeIP.vbs
' * Author yongfa365
' * Version v1.1
' * WEB http://www.yongfa365.com
' * Email yongfa365@qq.com
' * FirstWrite http://www.yongfa365.com/item/Use-WMi-Change-IP-VBS-yongfa365.html
' * LastModify 2007-12-29 13:57:50
' *==========================================================================*/
strIPAddress = Array("192.168.0.100","192.168.0.106") '修改后的ip,多个IP可以以","格开,可以写多个
strSubnetMask = Array("255.255.255.0","255.255.255.0") '子网掩码,配置同IP
strGateway = Array("192.168.0.1") '网关
arrDNSServers = Array("192.168.0.1", "221.12.1.228")'DNS,可以写多个
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
'msgbox colnetadapters.count'看下有几块网卡
'sip = Join(objNetAdapter.IPAddress, ",") '得到原来的ip
'strIPAddress = sip '保持原来的ip
strGatewayMetric = Array(1)
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
If errEnable = 0 Then
WScript.Echo "IP修改成功"
Else
WScript.Echo "IP修改失败"
End If
Exit For '只修改第一个网卡的设置
Next
这是第二个版本,遍历所有网卡,如果这个网卡的IP里包含"116.90.185"的话,就换这个IP,比较智能化,当初设计出来是为了在移客户机器时,重启后会自动执行“启动”里的这个脚本,后来证明不成,因为客户没法登录,“启动”里的东西没法运行所以也就没法改IP了。
view plaincopy to clipboardprint?
'/*=========================================================================
' * Intro 通过 WMI 改变网卡的IP地址 vbs版
' * FileName ChangeIP.vbs
' * Author yongfa365
' * Version v2.0
' * WEB http://www.yongfa365.com
' * Email yongfa365@qq.com
' * FirstWrite http://www.yongfa365.com/item/Use-WMi-Change-IP-VBS-yongfa365.html
' * LastModify 2007-12-31 14:57:50
' *==========================================================================*/
strIPAddress = Array("66.66.66.7") '修改后的ip,多个IP可以以","格开,可以写多个
strSubnetMask = Array("255.255.255.224") '子网掩码,配置同IP
strGateway = Array("66.66.66.1") '网关
arrDNSServers = Array("66.233.9.9")'DNS,可以写多个
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
sip = Join(objNetAdapter.IPAddress, ",")
if instr(sip,"116.90.185")<>0 then
strGatewayMetric = Array(1)
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
end if
Next
这是第三个版本,遍历所有网卡,如果这个网卡的IP里包含"116.90.185" 并且 时间到了预先设定好的时间,就换这个IP,测试成功,唯一不足的地方是,在运行这个脚本后不能重启机器,重启后这个脚本就运行不了了。但总的来说这个是最适用的。
view plaincopy to clipboardprint?
'/*=========================================================================
' * Intro 通过 WMI 改变网卡的IP地址 vbs版
' * FileName ChangeIP.vbs
' * Author yongfa365
' * Version v1.0
' * WEB http://www.yongfa365.com
' * Email yongfa365@qq.com
' * FirstWrite http://www.yongfa365.com/item/Use-WMi-Change-IP-VBS-yongfa365.html
' * LastModify 2007-1-3 14:57:50
' *==========================================================================*/
strIPAddress = Array("66.66.66.7") '修改后的ip,多个IP可以以","格开,可以写多个
strSubnetMask = Array("255.255.255.224") '子网掩码,配置同IP
strGateway = Array("66.66.66.1") '网关
arrDNSServers = Array("66.233.9.9")'DNS,可以写多个
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
sip = Join(objNetAdapter.IPAddress, ",")
if instr(sip,"116.90.185")<>0 then
do while 1
if (now-#2008-1-3 23:00:00#) >0 then '关机时间
strGatewayMetric = Array(1)
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
errDNS = objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
exit do
else
Wscript.Sleep 60*1000
end if
loop
end if
Next