vbs Windows系統(tǒng)改變或修改網(wǎng)卡的MAC地址的腳本與軟件第1/2頁(yè)
'/*=========================================================================
' * Intro 網(wǎng)上找了一圈,都不怎么好,有一個(gè)比較不錯(cuò)的,漢化作者漢化時(shí)加了個(gè)自己的介紹文件,這個(gè)文件比程序本身還大,感覺(jué)不爽,于是本人的VBS版MAC修改代碼便誕生了,在使用過(guò)程中如果出現(xiàn)不能上網(wǎng)的情況得返回一下網(wǎng)卡驅(qū)動(dòng)(有些機(jī)器比較特別),如果要返回以前的MAC可以:開(kāi)始-->控制面板-->網(wǎng)絡(luò)連接-->點(diǎn)擊您的網(wǎng)卡(一般是"本地連接")-->點(diǎn)擊常規(guī)里的屬性-->配置..-->高級(jí)-->選中-->NetworkAddress-->右邊選擇"不存在"
' * FileName ChangeMAC.vbs
' * Author yongfa365
' * Version v3.0
' * WEB http://www.yongfa365.com
' * Email yongfa365[at]qq.com
' * MadeTime 2007-12-09 22:17:58
' * LastModify 2007-12-13 18:35:58
' *==========================================================================*/
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=true", , 48)
For Each objItem in colItems
msg = msg & "編號(hào):" & objItem.Index & " MAC:" & objItem.MACAddress & vbCrLf & "網(wǎng)卡:" & objItem.Description & vbCrLf & vbCrLf
Next
idx = InputBox( msg , "1/2請(qǐng)輸入您要修改的MAC的編號(hào)", "1")
If Not IsNumeric(idx) Or Len(idx) = 0 Then
WScript.Echo "編號(hào)輸入有誤,退出"
Wscript.Quit
End If
MAC = InputBox( "輸入你指定的MAC地址值(注意應(yīng)該是12位的連續(xù)數(shù)字或字母,其間沒(méi)有-、:等分隔符)" , "2/2請(qǐng)輸入修改后的MAC地址", "000000000000")
MAC = Replace(Replace(Replace(MAC, ":", ""), "-", ""), " ", "")
If RegExpTest("[^\da-fA-F]", MAC)>0 Or Len(MAC)<>12 Then
WScript.Echo "MAC輸入有誤,退出"
Wscript.Quit
End If
idx = Right("00000"&idx, 4)
reg = "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" & idx
Set WSHShell = CreateObject("WScript.Shell")
WshShell.RegWrite reg & "\NetworkAddress", MAC , "REG_SZ"
WshShell.RegWrite reg & "\Ndi\params\NetworkAddress\default" , MAC , "REG_SZ"
WshShell.RegWrite reg & "\Ndi\params\NetworkAddress\ParamDesc" , "NetworkAddress" , "REG_SZ"
WshShell.RegWrite reg & "\Ndi\params\NetworkAddress\optional" , "1" , "REG_SZ"
'得到網(wǎng)卡的名稱,比如“本地連接 2”
NetWorkName = WshShell.RegRead("HKLM\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & WshShell.RegRead(reg & "\NetCfgInstanceId") & "\Connection\Name")
restartNetWork NetWorkName
'WScript.Echo "修改成功"
Function restartNetWork(sConnectionName)
'重啟網(wǎng)卡
'sConnectionName = "本地連接 5" '可改成需要控制的連接名稱,如"無(wú)線網(wǎng)絡(luò)連接"等
'定位到網(wǎng)絡(luò)連接
Set shellApp = CreateObject("shell.application")
Set oControlPanel = shellApp.Namespace(3)
For Each folderitem in oControlPanel.Items
If folderitem.Name = "網(wǎng)絡(luò)連接" Then
Set oNetConnections = folderitem.GetFolder
Exit For
End If
Next
'定位到要處理的網(wǎng)卡
For Each folderitem in oNetConnections.Items
If LCase(folderitem.Name) = LCase(sConnectionName) Then
Set oLanConnection = folderitem
Exit For
End If
Next
'重啟網(wǎng)卡
For i = 1 To 2
For Each verb in oLanConnection.verbs
If RegExpTest("啟用|禁用|停止", verb.Name)>0 Then
verb.DoIt
Exit For
End If
Next
'有時(shí)網(wǎng)卡半天反應(yīng)不過(guò)來(lái),可以把這個(gè)參數(shù)設(shè)的大點(diǎn)一般程序可以正常運(yùn)行,或您多運(yùn)行幾次程序
WScript.Sleep 5000
Next
End Function
'正則測(cè)試有沒(méi)有匹配內(nèi)容
Function RegExpTest(patrn, strng)
Set re = New RegExp
re.Pattern = patrn
re.IgnoreCase = True
re.Global = True
Set Matches = re.Execute(strng)
RegExpTest = Matches.Count
End Function
上一篇:asp match正則函數(shù)使用Matchs實(shí)例
欄 目:vb
下一篇:vbs選擇文件夾效果代碼
本文標(biāo)題:vbs Windows系統(tǒng)改變或修改網(wǎng)卡的MAC地址的腳本與軟件第1/2頁(yè)
本文地址:http://mengdiqiu.com.cn/a1/vb/7647.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBScript教程 第十一課深入VBScript
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript教程 第七課使用條件語(yǔ)句
- 01-10vbscript 可以按引用傳遞參數(shù)嗎?
- 01-10VBScript教程 第二課在HTML頁(yè)面中添加VBscript代碼


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
隨機(jī)閱讀
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery