利用vbs自动修改ip的代码
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
单位机房的系统需要重新安装,一共近300台设备,使用ghost网络克隆后,客户机重新设置ip是个麻烦的事情。我们使用的教学管理软件要求客户机必须有固定ip,单位5个机房如下(DNS:61.134.1.4,掩码为:255.255.255.0):
以下为vbs源码: 1.xp系统(测试通过,用户为Administrator,文件为E:\fxp.vbs,启动组建立快捷方式fxp.lnk以便开机后自动运行一次) 复制代码 代码如下: ''/////主程序 dimmsginf,machname''定义变量:对话框,机器名 msginf=msgbox("该程序只能执行1次,请在XP系统硬件安装完毕后执行!"&chr(13)&"是否继续?",65,"修改机器网络配置")''信息提示 ifmsginf=1then''如果按确定,则 machname=inputon()''用函数inputon()分析 ifmachname<>"quit"then''如果返回值不等于"quit",则 wmitoip(machname)''运行函数wmitoip()设置机器信息 mreboot()''重启机器 endif endif ''///重启机器 submreboot() dimfso,f1,f2 Setfso=CreateObject("Scripting.FileSystemObject") ''删除启动组 iffso.fileexists("C:\DocumentsandSettings\Administrator\「开始」菜单\程序\启动\fxp.lnk")then setf1=fso.getfile("C:\DocumentsandSettings\Administrator\「开始」菜单\程序\启动\fxp.lnk") f1.delete endif ''删除vbs文件 iffso.fileexists("e:\fxp.vbs")then setf2=fso.getfile("e:\fxp.vbs") f2.delete endif SetWshShell=Wscript.CreateObject("Wscript.Shell") ''WshShell.Run("shutdown.exe-r-t5")''重启 endsub ''///生成计算机名 functioninputon()''函数inputon() dimt''变量 whiletrue''循环直到退出函数 t=inputbox("按一下规则输入:"&chr(13)&chr(13)&"第1位代表机房号"&chr(13)&"第2、3位代表机器号"&chr(13)&"教师机用00代表"&chr(13)&"如:123代表1号机房23号机"&chr(13)&"请确保输入正确!!","请输入3位机器标识!","")''输入机算机名,默认值为空 ift=""then''如果t等于空(按了取消键),则 inputon="quit"''返回值为"quit" exitfunction''退出程序 endif iflen(t)=3then''计算机号的长度为3位 ifCint(t)>=100andCint(t)<580then''验证 inputon=t''返回需要的计算机名 exitfunction endif endif wend endfunction ''///修改机器ip、掩码、网关、工作组、机器名 subwmitoip(t) strComputer="." strmask="255.255.255.0" Dimlt,rt''变量 dimipv,gateway,lan''ip,网关,工作组 lt=cint(left(t,1))''机号左1位数字值 rt=cint(right(t,2))''机号右两位数字值 iflt=1orlt=2then''判断网关 gateway="192.168.1.254" else gateway="192.168.3.254" endif iflt=1then''1号机房 lan="S01" ipv="192.168.1." ifrt=0then''教师机 ipv=ipv+"100" else''学生机 ipv=ipv+Cstr(rt) endif endif iflt=2then''2号机房 lan="S02" ipv="192.168.1." ifrt=0then''教师机 ipv=ipv+"200" else''学生机 rt=rt+100 ipv=ipv+Cstr(rt) endif endif iflt=3then''3号机房 lan="S03" ipv="192.168.3." ifrt=0then''教师机 ipv=ipv+"80" else''学生机 ipv=ipv+Cstr(rt) endif endif iflt=4then''4号机房 lan="S04" ipv="192.168.3." ifrt=0then''教师机 ipv=ipv+"160" else''学生机 rt=rt+80 ipv=ipv+Cstr(rt) endif endif iflt=5then''5号机房 lan="S05" ipv="192.168.3." ifrt=0then''教师机 ipv=ipv+"240" else''学生机 rt=rt+160 ipv=ipv+Cstr(rt) endif endif SetobjWMIService=GetObject("winmgmts:\\"&strComputer&"\root\cimv2") SetcolNetAdapters=objWMIService.ExecQuery("Select*fromWin32_NetworkAdapterConfigurationwhereIPEnabled=TRUE") strIPAddress=Array(ipv) strSubnetMask=Array(strmask) strGateway=Array(gateway)''修改网关 ''strGatewayMetric=Array(1)''跃点数 strDNS=Array("61.134.1.4") ForEachobjNetAdapterincolNetAdapters errEnable=objNetAdapter.EnableStatic(strIPAddress,strSubnetMask)''ip,掩码 errGateways=objNetAdapter.SetGateways(strGateway)''网关 errDns=objNetAdapter.SetDNSServerSearchOrder(strDNS)''dns Next SetobjWMIService=GetObject("winmgmts:"_ &"{impersonationLevel=impersonate}!\\"&strComputer&"\root\cimv2") SetcolComputers=objWMIService.ExecQuery_ ("Select*fromWin32_ComputerSystem") ForEachobjComputerincolComputers err=ObjComputer.Rename("No_"&t)''机器名 ReturnValue=objComputer.JoinDomainOrWorkGroup("S0"&left(t,1))''工作组 Next endsub 2 |
||||||||||||||||||||||||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于利用vbs自动修改ip的代码的所有评论