通过 WMI 改变网卡的IP地址 ChangeIP.vbs

这是第一个版本,就是实现换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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值