• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >vbs > vbs Windows系统改变或修改网卡的MAC地址的脚本与软件第1/2页

vbs Windows系统改变或修改网卡的MAC地址的脚本与软件第1/2页

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了c windows vbs,windows vbs,windows找不到msg.vbs,windows vbs脚本,vbs等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
'/*=========================================================================   
' * Intro       网上找了一圈,都不怎么好,有一个比较不错的,汉化作者汉化时加了个自己的介绍文件,这个文件比程序本身还大,感觉不爽,于是本人的VBS版MAC修改代码便诞生了,在使用过程中如果出现不能上网的情况得返回一下网卡驱动(有些机器比较特别),如果要返回以前的MAC可以:开始-->控制面板-->网络连接-->点击您的网卡(一般是"本地连接")-->点击常规里的属性-->配置..-->高级-->选中-->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 & "网卡:" & 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  

  
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"  
'得到网卡的名称,比如“本地连接 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)   
    '重启网卡   
    '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 = Match

您可能想查找下面的文章:

  • vbs Windows系统改变或修改网卡的MAC地址的脚本与软件第1/2页
  • WINDOWS脚本实践:为SAP补丁制作的VBS脚本代码

相关文章

  • ProcessMagnifier.vbs进程查看
  • VBS中InStrRev函数的第三个参数(Start)使用注意事项
  • vbs实现只复制比目标文件更新的文件
  • VBS教程:VBscript属性-FirstIndex 属性
  • VBScript Enun Remote CMD Shell代码
  • 用VBScript制作QQ自动登录的脚本代码
  • vbs 函数 获取数组字符串的最后一个LastOne 挺方便的
  • 用vbs检索在运行对话框中键入的一系列命令的代码
  • 注册表-批处理-VBS之间的功能对应
  • VBS教程:VBscript语句-Dim 语句

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • VBS教程:函数-CSng 函数
    • VBS教程:函数-Eval 函数
    • 妙用VBScript自制IE工具栏按钮的代码
    • vbs实现的图片自适应表格,目前最佳解决方案!
    • 用vbs实现向任何电子邮件发送邮件
    • 用vb和vbs 破解flashxp的密码的代码
    • 获取外网IP并发送到指定邮箱的vbs代码[已测]
    • vbs定时发送邮件的方法与代码
    • vbscript sendkeys实例代码大全
    • VBS教程:属性-SerialNumber 属性

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有