中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 18:50
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [总结]获取本地MAC地址的N种方法 查看 1,458 回复 14
楼 主 [总结]获取本地MAC地址的N种方法 发表于 2007-11-27 20:15 ·  中国 北京 鹏博士BGP
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
1.CMD
ipconfig/all|findstr/c:"Physical Address"

nbtstat/a %computername%|find "MAC Address"

getmac/fo list|find "物理地址"

wmic nicconfig where (IPEnabled='True') get MACAddress


----------------------------------------------------------------------------------------------

2.VBS
For Each x In GetObject("winmgmts:\\.\root\cimv2").execquery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled='True'",,48):wscript.Echo x.macaddress:Next


----------------------------------------------------------------------------------------------

3.JS
x=new Enumerator(new ActiveXObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\\cimv2").ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='True'"));while (!x.atEnd()){WScript.Echo(x.item().MACAddress);x.moveNext();}


[ Last edited by s11ss on 2007-11-27 at 08:18 PM ]
2 发表于 2007-11-27 20:19 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
嘎嘎,貌似还可以通过读注册表

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
3 发表于 2007-11-27 20:22 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
注册表中的MAC只有你替换了网卡自带的才会有吧?
4 发表于 2007-11-27 20:27 ·  中国 湖南 长沙 电信
初级用户
积分 67
发帖 32
注册 2007-11-19 12:34
18年会员
UID 103118
性别 男
状态 离线
好贴,水顶一下
5 发表于 2007-11-27 21:24 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
wmi 语句好NB,在msdn上搜索wmi script 搜索出了好多东西
6 发表于 2007-11-27 21:39 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
网上抄了一段写法标准的 wmi 来获取 mac



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
Wscript.Echo objItem.MACAddress
Next
7 发表于 2007-11-27 21:45 ·  中国 北京 鹏博士BGP
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
Originally posted by vkill at 2007-11-27 09:39 PM:
网上抄了一段写法标准的 wmi 来获取 mac



On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & &q ...

我的那个vbs版本与它其实是一样的。果然是标准版,够规范........
8 发表于 2007-11-27 22:37 ·  中国 北京 电信
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
嘎嘎,貌似还可以通过读注册表


注册表中的MAC只有你替换了网卡自带的才会有吧?


我不知道究竟可不可以通过读注册表来获取MAC地址。但据我所知,即使可以,对于不同的机器,MAC在注册表中的位置也可能是不同的。
9 发表于 2007-11-27 23:08 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
我不知道究竟可不可以通过读注册表来获取MAC地址。但据我所知,即使可以,对于不同的机器,MAC在注册表中的位置也可能是不同的。


大家都试试这个命令,看和通过上面的方法得到MAC地址是不是一样的,如果是一样的就可以收录进去了。

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Genuine Advantage\"|findstr/c:" MAC"
10 发表于 2007-11-27 23:18 ·  中国 北京 电信
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
Originally posted by lxmxn at 2007-11-27 11:08 PM:


大家都试试这个命令,看和通过上面的方法得到MAC地址是不是一样的,如果是一样的就可以收录进去了。

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\M ... 


错误: 系统找不到指定的注册表项或值
11 发表于 2007-11-27 23:39 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by s11ss at 2007-11-27 23:18:


错误: 系统找不到指定的注册表项或值

晕死了,我复制我发的贴子里面的代码,运行正常呢。
12 发表于 2007-11-28 07:10 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
注册表不行
Microsoft Windows XP 
(C) Copyright 1985-2001 Microsoft Corp.

C:\>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Genuine Advantage\"|findstr/c:" MAC"

Error: The system was unable to find the specified registry key or value
13 发表于 2007-11-28 12:51 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
WGA?
lxmxn用正版xp,BS之,哈哈
14 发表于 2007-11-28 14:15 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
:(
15 发表于 2007-11-28 20:38 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by everest79 at 2007-11-28 12:51 PM:
WGA?
lxmxn用正版xp,BS之,哈哈

我用的是公司的正版XP,也不行。
论坛跳转: