call changeMAC '调用修改MAC过程 sub changeMAC() strConnection="本地连接" '需要修改的MAC连接名称 strMAC="000000000206" '需要的MAC地址 dim i '用于检测是否存在名称为"本地连接"的网卡 dim iDevID '网卡的硬件ID i=0 '查询名称为“本地连接”的网卡的硬件ID strComputer = "." Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/CIMV2") Set colItems = objWMIService.ExecQuery("SELECT DeviceID FROM Win32_NetworkAdapter where NetConnectionID='"& strConnection &"'",,48) For Each objItem in colItems i=i+1 iDevID=objItem.DeviceID Next if i<1 then msgbox "请确认是否将所需网卡名称改为“" & strConnection & "”" msgbox "更改MAC地址失败" exit sub end if '通过注册表修改MAC地址 on error resume next Set WSHShell=WScript.CreateObject("WScript.Shell") strDevID=formatDevID(iDevID) strNetReg="HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002bE10318}/" & strDevID & "/NetworkAddress" r=WSHShell.regRead(strNetReg) if err.number=-2147024894 then WSHShell.regWrite strNetReg,strMAC msgbox "新建成功"&chr(10)&chr(13)&"重启网卡生效!" else WSHShell.regWrite strNetReg,strMAC msgbox "修改成功"&chr(10)&chr(13)&"重启网卡生效!" end if end sub '格式化网卡ID号 function formatDevID(iDevID) if iDevID<10 then formatDevID="000" & iDevID elseif iDevID>=10 and iDevID<100 then formatDevID="00" & iDevID else formatDevID="0" & iDevID end if end function