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 & "網卡:" & 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地址值(注意應該是12位的連續數字或字母,其間沒有-、:等分隔符)" , "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
Function restartNetWork(sConnectionName) '重啟網卡 'sConnectionName = "本地連接 5" '可改成需要控制的連接名稱,如"無線網絡連接"等 '定位到網絡連接 Set shellApp = CreateObject("shell.application") Set oControlPanel = shellApp.Namespace(3) For Each folderitem in oControlPanel.Items If folderitem.Name = "網絡連接" Then Set oNetConnections = folderitem.GetFolder Exit For End If Next '定位到要處理的網卡 For Each folderitem in oNetConnections.Items If LCase(folderitem.Name) = LCase(sConnectionName) Then Set oLanConnection = folderitem Exit For End If Next '重啟網卡 For i = 1 To 2 For Each verb in oLanConnection.verbs If RegExpTest("啟用|禁用|停止", verb.Name) 0 Then verb.DoIt Exit For End If Next '有時網卡半天反應不過來,可以把這個參數設的大點一般程序可以正常運行,或您多運行幾次程序 WScript.Sleep 5000 Next
End Function
'正則測試有沒有匹配內容
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 html教程