vbs Windows系统改变或修改网卡的MAC地址的脚本与软件第1/2页
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
''/*========================================================================= ''*Intro网上找了一圈,都不怎么好,有一个比较不错的,汉化作者汉化时加了个自己的介绍文件,这个文件比程序本身还大,感觉不爽,于是本人的VBS版MAC修改代码便诞生了,在使用过程中如果出现不能上网的情况得返回一下网卡驱动(有些机器比较特别),如果要返回以前的MAC可以:开始-->控制面板-->网络连接-->点击您的网卡(一般是"本地连接")-->点击常规里的属性-->配置..-->高级-->选中-->NetworkAddress-->右边选择"不存在" ''*FileNameChangeMAC.vbs ''*Authoryongfa365 ''*Versionv3.0 ''*WEBhttp://www.yongfa365.com ''*Emailyongfa365[at]qq.com ''*MadeTime2007-12-0922:17:58 ''*LastModify2007-12-1318:35:58 ''*==========================================================================*/ OnErrorResumeNext strComputer="." SetobjWMIService=GetObject("winmgmts:\\"&strComputer&"\root\cimv2") SetcolItems=objWMIService.ExecQuery("Select*fromWin32_NetworkAdapterConfigurationwhereIPEnabled=true",,48) ForEachobjItemincolItems msg=msg&"编号:"&objItem.Index&"MAC:"&objItem.MACAddress&vbCrLf&"网卡:"&objItem.Description&vbCrLf&vbCrLf Next idx=InputBox(msg,"1/2请输入您要修改的MAC的编号","1") IfNotIsNumeric(idx)OrLen(idx)=0Then WScript.Echo"编号输入有误,退出" Wscript.Quit EndIf MAC=InputBox("输入你指定的MAC地址值(注意应该是12位的连续数字或字母,其间没有-、:等分隔符)","2/2请输入修改后的MAC地址","000000000000") MAC=Replace(Replace(Replace(MAC,":",""),"-",""),"","") IfRegExpTest("[^\da-fA-F]",MAC)>0OrLen(MAC)<>12Then WScript.Echo"MAC输入有误,退出" Wscript.Quit EndIf idx=Right("00000"&idx,4) reg="HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\"&idx SetWSHShell=CreateObject("WScript.Shell") WshShell.RegWritereg&"\NetworkAddress",MAC,"REG_SZ" WshShell.RegWritereg&"\Ndi\params\NetworkAddress\default",MAC,"REG_SZ" WshShell.RegWritereg&"\Ndi\params\NetworkAddress\ParamDesc","NetworkAddress","REG_SZ" WshShell.RegWritereg&"\Ndi\params\NetworkAddress\optional","1","REG_SZ" ''得到网卡的名称,比如“本地连接2” NetWorkName=WshShell.RegRead("HKLM\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\"&WshShell.RegRead(reg&"\NetCfgInstanceId")&"\Connection\Name") restartNetWorkNetWorkName ''WScript.Echo"修改成功" FunctionrestartNetWork(sConnectionName) ''重启网卡 ''sConnectionName="本地连接5"''可改成需要控制的连接名称,如"无线网络连接"等 ''定位到网络连接 SetshellApp=CreateObject("shell.application") SetoControlPanel=shellApp.Namespace(3) ForEachfolderiteminoControlPanel.Items Iffolderitem.Name="网络连接"Then SetoNetConnections=folderitem.GetFolder ExitFor EndIf Next ''定位到要处理的网卡 ForEachfolderiteminoNetConnections.Items IfLCase(folderitem.Name)=LCase(sConnectionName)Then SetoLanConnection=folderitem ExitFor EndIf Next ''重启网卡 Fori=1To2 ForEachverbinoLanConnection.verbs IfRegExpTest("启用|禁用|停止",verb.Name)>0Then verb.DoIt ExitFor EndIf Next ''有时网卡半天反应不过来,可以把这个参数设的大点一般程序可以正常运行,或您多运行几次程序 WScript.Sleep5000 Next EndFunction ''正则测试有没有匹配内容 FunctionRegExpTest(patrn,strng) Setre=NewRegExp re.Pattern=patrn re.IgnoreCase=True re.Global=True SetMatches=re.Execute(strng) RegExpTest=Matches.Count EndFunction |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于vbs Windows系统改变或修改网卡的MAC地址的脚本与软件第1/2页的所有评论