• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    利用vbs自动修改ip的代码
    单位机房的系统需要重新安装,一共近300台设备,使用ghost网络克隆后,客户机重新设置ip是个麻烦的事情。我们使用的教学管理软件要求客户机必须有固定ip,单位5个机房如下(DNS:61.134.1.4,掩码为:255.255.255.0):

    机房

    起始ip

    ip终止ip 

    网关 

    机器名 

    工作组 

     1号  192.168.1.1 100   254   No_100~No_160  S01
     2号  192.168.1.101  200  254   No_200~No_260  S02
     3号  192.168.3.1  80  254  No_300~No_360  S03
     4号  192.168.3.81  160  254  No_400~No_460  S04
     5号  192.168.3.161  240  254   No_500~No_560  S05

    以下为vbs源码:
    1.xp系统(测试通过,用户为Administrator,文件为E:\fxp.vbs,启动组建立快捷方式fxp.lnk以便开机后自动运行一次)
    复制代码 代码如下:

    '/////主程序 
    dim msginf,machname'定义变量:对话框,机器名 
    msginf=msgbox("该程序只能执行1次,请在XP系统硬件安装完毕后执行!" chr(13)  "是否继续?",65,"修改机器网络配置") '信息提示 
    if msginf=1 then ' 如果按确定,则 

    machname=inputon() ' 用函数inputon()分析 

    if machname>"quit" then ' 如果返回值不等于"quit",则 
    wmitoip(machname) ' 运行函数wmitoip()设置机器信息 
    mreboot()'重启机器 
    end if 
    end if 

    '///重启机器 
    sub mreboot() 
    dim fso,f1,f2 
    Set fso = CreateObject("Scripting.FileSystemObject") 

    '删除启动组 
    if fso.fileexists("C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\fxp.lnk") then 
    set f1=fso.getfile("C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\fxp.lnk") 
    f1.delete 
    end if 

    '删除vbs文件 
    if fso.fileexists("e:\fxp.vbs") then 
    set f2=fso.getfile("e:\fxp.vbs") 
    f2.delete 
    end if 

    Set WshShell = Wscript.CreateObject("Wscript.Shell") 
    'WshShell.Run ("shutdown.exe -r -t 5") ' 重启 

    end sub 

    '///生成计算机名 
    function inputon() ' 函数inputon() 
    dim t ' 变量 
    while true ' 循环直到退出函数 
    t=inputbox("按一下规则输入:"  chr(13)  chr(13)  "第1位代表机房号"  chr(13)  "第2、3位代表机器号"  chr(13)  "教师机用00代表"  chr(13)  "如:123代表1号机房23号机"  chr(13)  "请确保输入正确!!","请输入3位机器标识!","") ' 输入机算机名,默认值为空 
    if t="" then ' 如果t等于空(按了取消键),则 
    inputon="quit" ' 返回值为"quit" 
    exit function ' 退出程序 
    end if 
    if len(t)=3 then ' 计算机号的长度为3位 
    if Cint(t)>=100 and Cint(t)580 then ' 验证 
    inputon=t ' 返回需要的计算机名 
    exit function 
    end if 
    end if 
    wend 
    end function 


    '///修改机器ip、掩码、网关、工作组、机器名 
    sub wmitoip(t) 
    strComputer="." 
    strmask="255.255.255.0" 
    Dim lt,rt' 变量 
    dim ipv,gateway,lan 'ip,网关,工作组 
    lt=cint(left(t,1))'机号左1位数字值 
    rt=cint(right(t,2)) ' 机号右两位数字值 

    if lt=1 or lt=2 then'判断网关 
    gateway="192.168.1.254" 
    else 
    gateway="192.168.3.254" 
    end if 

    if lt=1 then '1号机房 
    lan="S01" 
    ipv="192.168.1." 
    if rt=0 then '教师机 
    ipv=ipv+"100" 
    else'学生机 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 

    if lt=2 then '2号机房 
    lan="S02" 
    ipv="192.168.1." 
    if rt=0 then '教师机 
    ipv=ipv+"200" 
    else'学生机 
    rt=rt+100 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 

    if lt=3 then '3号机房 
    lan="S03" 
    ipv="192.168.3." 
    if rt=0 then '教师机 
    ipv=ipv+"80" 
    else'学生机 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 

    if lt=4 then '4号机房 
    lan="S04" 
    ipv="192.168.3." 
    if rt=0 then '教师机 
    ipv=ipv+"160" 
    else'学生机 
    rt=rt+80 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 

    if lt=5 then '5号机房 
    lan="S05" 
    ipv="192.168.3." 
    if rt=0 then '教师机 
    ipv=ipv+"240" 
    else'学生机 
    rt=rt+160 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 

    Set objWMIService=GetObject("winmgmts:\\"  strComputer  "\root\cimv2") 
    Set colNetAdapters=objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") 
    strIPAddress=Array(ipv) 
    strSubnetMask=Array(strmask) 
    strGateway = Array(gateway) '修改网关 
    'strGatewayMetric = Array(1) '跃点数 
    strDNS=Array("61.134.1.4") 

    For Each objNetAdapter in colNetAdapters  
    errEnable=objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)'ip,掩码 
    errGateways = objNetAdapter.SetGateways(strGateway) '网关 
    errDns=objNetAdapter.SetDNSServerSearchOrder(strDNS)'dns 
    Next 

    Set objWMIService = GetObject("winmgmts:" _ 
         "{impersonationLevel=impersonate}!\\"  strComputer  "\root\cimv2") 
    Set colComputers = objWMIService.ExecQuery _ 
        ("Select * from Win32_ComputerSystem") 
    For Each objComputer in colComputers 
        err = ObjComputer.Rename("No_"  t)'机器名 
        ReturnValue = objComputer.JoinDomainOrWorkGroup("S0"  left(t,1))'工作组   
    Next 

    end sub 



    2.98系统

    98系统可以生成ip.reg注册表文件,导入后就可以了,源码如下(主体思路,这次没有98系统,所以未完成,可参考xp系统的改进):


    复制代码 代码如下:

    '/////主程序 
    dim msginf,machname'定义变量:对话框,机器名 
    msginf=msgbox("生成注册表文件,是否继续?",65,"getreg") '信息提示 
    if msginf=1 then ' 如果按确定,则 

    machname=inputon() ' 用函数inputon()分析 

    if machname>"quit" then ' 如果返回值不等于"quit",则 
    setreg(machname) ' 运行函数setreg()生成注册表ip.reg 
    end if 
    end if 

    '///生成计算机名 
    function inputon() ' 函数inputon() 
    dim t ' 变量 
    while true ' 循环直到退出函数 
    t=inputbox("按一下规则输入:"  chr(13)  chr(13)  "第1位代表机房号"  chr(13)  "第2、3位代表机器号"  chr(13)  "教师机用00代表"  chr(13)  "如:123代表1号机房23号机"  chr(13)  "请确保输入正确!!","请输入3位机器标识!","") ' 输入机算机名,默认值为空 
    if t="" then ' 如果t等于空(按了取消键),则 
    inputon="quit" ' 返回值为"quit" 
    exit function ' 退出程序 
    end if 
    if len(t)=3 then ' 计算机号的长度为3位 
    if Cint(t)>=100 and Cint(t)580 then ' 验证 
    inputon=t ' 返回需要的计算机名 
    exit function 
    end if 
    end if 
    wend 
    end function 

    '///生成注册文件 
    sub setreg(t) ' 生成注册表,t为机器号 
    Dim fso, f1,f2,lt,rt' 变量 
    dim ipv,gateway,lan 'ip,网关,工作组 
    lt=cint(left(t,1))'机号左1位数字值 
    rt=cint(right(t,2)) ' 机号右两位数字值 

    if lt=1 or lt=2 then'判断网关 
    gateway="192.168.1.254" 
    else 
    gateway="192.168.3.254" 
    end if 

    if lt=1 then '1号机房 
    lan="S01" 
    ipv="192.168.1." 
    if rt=0 then '教师机 
    ipv=ipv+"100" 
    else'学生机 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 

    if lt=2 then '2号机房 
    lan="S02" 
    ipv="192.168.1." 
    if rt=0 then '教师机 
    ipv=ipv+"200" 
    else'学生机 
    rt=rt+100 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 

    if lt=3 then '3号机房 
    lan="S03" 
    ipv="192.168.3." 
    if rt=0 then '教师机 
    ipv=ipv+"80" 
    else'学生机 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 

    if lt=4 then '4号机房 
    lan="S04" 
    ipv="192.168.3." 
    if rt=0 then '教师机 
    ipv=ipv+"160" 
    else'学生机 
    rt=rt+80 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 

    if lt=5 then '5号机房 
    lan="S05" 
    ipv="192.168.3." 
    if rt=0 then '教师机 
    ipv=ipv+"240" 
    else'学生机 
    rt=rt+160 
    ipv=ipv+Cstr(rt) 
    end if 
    end if 


    Set fso = CreateObject("Scripting.FileSystemObject") 
    if fso.fileexists("e:\ip.reg") then 
    set f2=fso.getfile("e:\ip.reg") 
    f2.delete 
    end if '如果存在ip.reg,先删了 

    set f1 = fso.CreateTextFile("e:\ip.reg", True) ' 建立文件ip.cfg 
    'f1.WriteLine("REGEDIT4") ' 以下为生成注册表 
    f1.WriteLine("Windows Registry Editor Version 5.00") 
    f1.WriteBlankLines(1) 
    f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName]") 
    f1.WriteLine(chr(34)  "ComputerName"  chr(34)  "="  chr(34)  t  chr(34)) ' 计算机名 
    f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000]") 
    f1.WriteLine(chr(34)  "IPAddress"  chr(34)  "="  chr(34)  ipv  chr(34)) ' IP 
    f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000]") 
    f1.WriteLine(chr(34)  "DefaultGateway"  chr(34)  "="  chr(34)  gateway  chr(34)) ' 网关 
    f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000]") 
    f1.WriteLine(chr(34)  "IPMask"  chr(34)  "="  chr(34)  "255.255.255.0"  chr(34)) ' 子网掩码 
    f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]") 
    f1.WriteLine(chr(34)  "Comment"  chr(34)  "="  chr(34)  t  chr(34)) ' 计算机说明 
    f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]") 
    f1.WriteLine(chr(34)  "ComputerName"  chr(34)  "="  chr(34)  t  chr(34)) ' 计算机名 
    f1.WriteLine("[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]") 
    f1.Writeline(chr(34)  "Workgroup"  chr(34)  "="  chr(34)  lan  chr(34)) ' 工作组 
    end sub
    您可能感兴趣的文章:
    • bat 选项之修改ip的脚本代码(让用户可以选择操作并进行判断执行)
    • Windows下用命令行修改IP地址的方法详解(附批处理文件)
    • dos环境下修改ip地址
    • 用bat文件修改ip
    • 使用脚本自动修改ip设置
    上一篇:windows.vbs.FSO.文件操作信息.磁盘驱动信息.文件夹操作信息全集
    下一篇:VBS中常用脚本代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    利用vbs自动修改ip的代码 利用,vbs,自动,修改,的,代码,