濮阳杆衣贸易有限公司

主頁 > 知識庫 > vbs Windows系統(tǒng)改變或修改網(wǎng)卡的MAC地址的腳本與軟件

vbs Windows系統(tǒng)改變或修改網(wǎng)卡的MAC地址的腳本與軟件

熱門標(biāo)簽:外呼系統(tǒng)說話聲音小怎么辦 企業(yè)400電話辦理價錢低 上海辦理400電話選號 天津智能外呼系統(tǒng)排名 外呼系統(tǒng)群 智云億呼電話機器人 機器人打電銷適用于美業(yè)嗎 龍巖400電話申請 墨西哥地圖標(biāo)注app

核心代碼

'/*=========================================================================  
' * Intro    網(wǎng)上找了一圈,都不怎么好,有一個比較不錯的,漢化作者漢化時加了個自己的介紹文件,這個文件比程序本身還大,感覺不爽,于是本人的VBS版MAC修改代碼便誕生了,在使用過程中如果出現(xiàn)不能上網(wǎng)的情況得返回一下網(wǎng)卡驅(qū)動(有些機器比較特別),如果要返回以前的MAC可以:開始-->控制面板-->網(wǎng)絡(luò)連接-->點擊您的網(wǎng)卡(一般是"本地連接")-->點擊常規(guī)里的屬性-->配置..-->高級-->選中-->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  "編號:"  objItem.Index  "  MAC:"  objItem.MACAddress  vbCrLf  "網(wǎng)卡:"  objItem.Description  vbCrLf  vbCrLf  
Next  
  
idx = InputBox( msg , "1/2請輸入您要修改的MAC的編號", "1")  
If Not IsNumeric(idx) Or Len(idx) = 0 Then  
  WScript.Echo "編號輸入有誤,退出"  
  Wscript.Quit  
End If  
MAC = InputBox( "輸入你指定的MAC地址值(注意應(yīng)該是12位的連續(xù)數(shù)字或字母,其間沒有-、:等分隔符)" , "2/2請輸入修改后的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ǎ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  
    '有時網(wǎng)卡半天反應(yīng)不過來,可以把這個參數(shù)設(shè)的大點一般程序可以正常運行,或您多運行幾次程序  
    WScript.Sleep 5000  
  Next  
    
    
End Function  
  
  
'正則測試有沒有匹配內(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 

網(wǎng)上相關(guān)介紹一:

  如何修改網(wǎng)卡MAC地址


  輕松修改網(wǎng)卡的MAC(物理)地址如今大家都是ADSL上網(wǎng),當(dāng)你查網(wǎng)費時就會發(fā)現(xiàn),每次上網(wǎng)電信都會記錄下你的網(wǎng)卡MAC地址,這是因為IP地址是動態(tài)的(每次上網(wǎng)都不同),而MAC地址卻是不變的——每張網(wǎng)卡都有一個與眾不同的MAC(物理)地址,因此MAC地址就成了客戶的網(wǎng)上身份證,通過記錄MAC地址,即可確認(rèn)是你上的網(wǎng)!

  一、MAC地址的用途
  MAC地址在網(wǎng)卡中是固定的,每張網(wǎng)卡的MAC地址都不一樣。網(wǎng)卡在制作過程中,廠家會在它的EPROM里面燒錄上一組數(shù)字,這組數(shù)字,每張網(wǎng)卡都各不相同,這就是網(wǎng)卡的MAC(物理)地址。

  由于MAC地址的唯一性,因此它主要用來識別網(wǎng)絡(luò)中用戶的身份。例如ADSL上網(wǎng)時,電信用它來記費,確認(rèn)是你上的網(wǎng);在校園網(wǎng)中,MAC地址也可以用來識別用戶。對于校園網(wǎng)的正式用戶,其MAC地址會登記在服務(wù)器端,假如你是非法用戶,服務(wù)器中就沒有你的網(wǎng)卡MAC地址,這樣當(dāng)你試圖連上網(wǎng)時,服務(wù)器就會立刻認(rèn)出你、阻止你連上網(wǎng)絡(luò)。

  二、MAC地址是可以修改的
  有些場合,例如冒充網(wǎng)絡(luò)中的正式用戶,就需要修改你的網(wǎng)卡MAC.要修改MAC地址,你可以通過硬件的方法實現(xiàn),即利用網(wǎng)卡廠家提供的修改程序來燒錄網(wǎng)卡的EEPROM,這樣做雖然可行,但是風(fēng)險很大、操作也復(fù)雜,即使你很有經(jīng)驗,也難免在操作中出現(xiàn)錯誤。

  其實你完全沒必要用燒錄方法、修改網(wǎng)卡中的MAC地址。要知道Windows安裝的時候,會自動從網(wǎng)卡中讀入MAC地址,把它存放在注冊表中以備后用。當(dāng)數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時,從網(wǎng)卡發(fā)出的數(shù)據(jù)包中要求有一個源MAC地址,這個MAC地址就是從注冊表中讀取的(并非從網(wǎng)卡中讀取的),因此只要你修改了注冊表中的MAC地址,就相當(dāng)于改了網(wǎng)卡EEPROM中的MAC地址,兩者實際效果是完全相同的!

  三、修改注冊表中MAC的方法
  1、使用軟件修改
  本方法適用于所有類型的網(wǎng)卡。在不同的Windows下,要用不同的軟件修改MAC.

  (1)Win2003/XP/2000

  如果你的系統(tǒng)是Win2003/XP/2000,可以使用SMAC(下載地址http://www.klcconsulting.net/smac/#Download)。這款軟件并不能修改網(wǎng)卡中的MAC地址,只能修改注冊表中的MAC.

  該軟件有兩種運行模式,如果你啟用了"Windows Management Instrumentation (WMI)"服務(wù),軟件即運行在[WBEM ON]模式下,可以顯示更多的網(wǎng)卡信息,否則運行在[WBEM OFF]模式下,在軟件窗口標(biāo)題欄可看到當(dāng)前運行模式。

  軟件的使用非常簡單,運行后點擊"Refresh",窗口中的列表框?qū)@示網(wǎng)卡的類型、IP地址、Active MAC等,在下面六個輸入框中輸入你指定的MAC地址(圖1),然后點擊右側(cè)的"Update MAC",即可修改完成;最后重啟電腦使修改值生效。

  圖1
  注意,試用版不能輸入新的MAC地址,只能把MAC改成0C-0C-0C-0C-0C-01

 ?。?)Win98
  如果你的系統(tǒng)是Win98,建議使用"Mac掃描器",這個工具可以修改注冊表中的MAC地址,然后重啟電腦使修改生效。

  2、在網(wǎng)卡屬性中修改
  如果你的網(wǎng)卡采用了RealTek公司的RTL8139芯片,就可以在網(wǎng)卡屬性中修改MAC,這樣注冊表中的MAC地址也會一同改變,方法如下:

  圖2
  在Win2003/XP/2000中,點擊菜單"開始"/設(shè)置/控制面板,雙擊"系統(tǒng)",點擊"硬件"/設(shè)備管理器,在設(shè)備管理器中展開"網(wǎng)絡(luò)適配器",右擊要修改MAC地址的網(wǎng)卡,選擇"屬性";點擊"高級"選項卡,在"屬性"下,選擇點擊Network Address項目(圖2),在右側(cè)"值"的下方,輸入你要指定的MAC地址值(例如020202020202),注意要連續(xù)輸入12個數(shù)字或字母(中間不要輸入-);重新啟動電腦后,修改即可生效。至于Win98下的MAC修改方法,與以上方法類似。

  如果修改之后,在Win2003/XP/2000 下,你又想把注冊表中的MAC地址恢復(fù)成原樣,可以選擇"Network Address"項,將右邊的值選擇為"不存在",再重新啟動即可;在Win98下是選擇"沒有顯示"。

  3、在注冊表中修改
  對于非RTL8139芯片的網(wǎng)卡,你可以直接修改注冊表中的MAC,注意:修改注冊表前,要先備份注冊表。

 ?。?)Win2003/XP/2000

  點擊"開始"/運行,輸入regedit打開注冊表,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000、0001、0002等主鍵下,查找DriverDesc的內(nèi)容,了解網(wǎng)卡使用了哪個主鍵(例如0001),如果主鍵下有params項,則該主鍵也是網(wǎng)卡所使用的;

  例如網(wǎng)卡使用了0001主鍵,因此我們就選中它,在其右邊建一個字符串項(名為NetworkAddress),雙擊該串,輸入你指定的MAC地址值(注意應(yīng)該是12位的連續(xù)數(shù)字或字母,其間沒有-號);在0001下的NDI\params中添加一項子鍵(名為NetworkAddress),選擇該子鍵,在其右邊添加名為default的字符串,鍵值為修改后的MAC地址,與上面的數(shù)值相同;修改后重啟生效。

  (2)Win98
  點擊"開始"/運行,鍵入winipcfg選擇你要修改的網(wǎng)卡,并記錄下MAC地址值;然后點擊"開始"/運行,輸入regedit打開注冊表,定位到HKEY_LOCAL_MACHINE\System\Current ControlSet\Services\Class\Net,下面有"0000"、"0001"、"0002"等子鍵;從"0000"子鍵開始點擊,依次查找子鍵下的"DriverDesc"鍵內(nèi)容,直到找到剛才記錄的MAC地址為止;

  例如網(wǎng)卡使用了0001主鍵,因此我們就選中它,在其右邊新建一個串,名稱為networkaddress,再雙擊該串,輸入新的MAC地址值(注意應(yīng)該是12位的連續(xù)數(shù)字或字母,其間沒有-號);最后重啟電腦使修改生效。

網(wǎng)上有個公開代碼的程序,我漢化了一下,下載地址:MACAddressChanger.rar

標(biāo)簽:黃山 鄂爾多斯 阜新 麗水 青島 承德 錫林郭勒盟 齊齊哈爾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《vbs Windows系統(tǒng)改變或修改網(wǎng)卡的MAC地址的腳本與軟件》,本文關(guān)鍵詞  vbs,Windows,系統(tǒng),改變,或,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《vbs Windows系統(tǒng)改變或修改網(wǎng)卡的MAC地址的腳本與軟件》相關(guān)的同類信息!
  • 本頁收集關(guān)于vbs Windows系統(tǒng)改變或修改網(wǎng)卡的MAC地址的腳本與軟件的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    扎赉特旗| 长治市| 福州市| 沙湾县| 秦皇岛市| 黄浦区| 启东市| 建始县| 保康县| 辽源市| 徐汇区| 阿合奇县| 永善县| 梧州市| 彩票| 南溪县| 大连市| 北碚区| 米林县| 介休市| 兴国县| 巴南区| 弥渡县| 伊吾县| 阿图什市| 福鼎市| 宜昌市| 广元市| 阿坝县| 思茅市| 蒙山县| 焦作市| 章丘市| 即墨市| 宝丰县| 如东县| 凤翔县| 璧山县| 外汇| 东乌珠穆沁旗| 武山县|