通过 WMI 改变网卡的IP地址 ChangeIP.vbs
2013-03-21 22:08
417 查看
这是第一个版本,就是实现换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
相关文章推荐
- 使用WMI改变网卡的IP地址 vbs版
- 用C++通过wmi方式修改网卡TCP/IP设置
- VBS 访问WMI读取IP地址,并将其设置为静态IP
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- java通过ip获取网卡MAC地址
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- Nginx禁止直接通过IP地址访问网站以及限制IP登陆某目录(关闭默认站点或空主机头)
- 【VB.NET】通过 IPIP.NET 数据库来查询IP地址
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- Debian 下通过Bonding 实现双网卡单IP
- Red Hat linux下设置网卡固定IP地址(两个IP绑定)
- vbs通过WMI修改文件文件夹的NTFS权限
- 通过WMI获取系统.进程.CPU.磁盘.分区.网卡.主板.内存.显卡.共享.键盘.鼠标等信息
- linux系统更改网卡信息,将IP地址设置为固定IP
- vbs Windows系统改变或修改网卡的MAC地址的脚本与软件第1/2页
- 通过请求接口的办法获得本设备IP以及IP地址
- Linux下通过shell获取网卡的ip地址和mac地址
- 从ip addr add和ifconfig的区别看linux网卡ip地址的结构
- 两种socket获取本机IP地址方法及获取ip对应网卡