Board logo

标题: [总结]获取本地MAC地址的N种方法 [打印本页]

作者: s11ss     时间: 2007-11-27 20:15    标题: [总结]获取本地MAC地址的N种方法
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 ]

作者: electronixtar     时间: 2007-11-27 20:19
嘎嘎,貌似还可以通过读注册表

作者: everest79     时间: 2007-11-27 20:22
注册表中的MAC只有你替换了网卡自带的才会有吧?

作者: upsco     时间: 2007-11-27 20:27
好贴,水顶一下

作者: vkill     时间: 2007-11-27 21:24
wmi 语句好NB,在msdn上搜索wmi script 搜索出了好多东西

作者: vkill     时间: 2007-11-27 21:39
网上抄了一段写法标准的 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

作者: s11ss     时间: 2007-11-27 21:45
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版本与它其实是一样的。果然是标准版,够规范........

作者: s11ss     时间: 2007-11-27 22:37
嘎嘎,貌似还可以通过读注册表


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


我不知道究竟可不可以通过读注册表来获取MAC地址。但据我所知,即使可以,对于不同的机器,MAC在注册表中的位置也可能是不同的。

作者: lxmxn     时间: 2007-11-27 23:08
我不知道究竟可不可以通过读注册表来获取MAC地址。但据我所知,即使可以,对于不同的机器,MAC在注册表中的位置也可能是不同的。


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

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

作者: s11ss     时间: 2007-11-27 23:18
Originally posted by lxmxn at 2007-11-27 11:08 PM:


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

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\M ... 


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

作者: lxmxn     时间: 2007-11-27 23:39
Originally posted by s11ss at 2007-11-27 23:18:


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

晕死了,我复制我发的贴子里面的代码,运行正常呢。

作者: HAT     时间: 2007-11-28 07:10
注册表不行
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

作者: everest79     时间: 2007-11-28 12:51
WGA?
lxmxn用正版xp,BS之,哈哈

作者: lxmxn     时间: 2007-11-28 14:15
:(

作者: HAT     时间: 2007-11-28 20:38
Originally posted by everest79 at 2007-11-28 12:51 PM:
WGA?
lxmxn用正版xp,BS之,哈哈

我用的是公司的正版XP,也不行。