可通过powershell、cmd、wmi或批处理脚本批量导出windows网络适配器mac地址:powershell命令精准筛选启用的物理网卡并导出csv;cmd重定向ipconfig输出后手动提取;wmi命令生成结构化csv;批处理自动解析并整理为标准文本格式。

如果您需要在Windows系统中批量获取并导出所有网络适配器的MAC地址,以便统一存档或资产管理,则可通过命令行工具与脚本结合的方式高效完成。以下是实现该目标的具体操作步骤:
一、使用PowerShell批量导出MAC地址
PowerShell具备原生访问系统网络配置的能力,可一次性枚举全部适配器并筛选出物理网卡的MAC地址,避免虚拟设备干扰。该方法无需安装额外软件,执行速度快且结果结构清晰。
1、按下 Win + X 键,选择“Windows PowerShell(管理员)”。
2、输入以下命令后按回车执行:
Get-NetAdapter | Where-Object {$_.Status -eq 'Up' -and $_.MacAddress -ne '00-00-00-00-00-00'} | Select-Object Name, MacAddress, InterfaceDescription | Export-Csv -Path "$env:USERPROFILE\Desktop\MAC_Export.csv" -NoTypeInformation -Encoding UTF8
3、检查桌面生成的 MAC_Export.csv 文件,用Excel或记事本打开确认内容完整。
二、通过CMD命令结合文本重定向保存
CMD虽功能较基础,但兼容性极强,适用于老旧Windows版本或受限环境。该方式将所有适配器信息输出为纯文本,再手动提取MAC字段,适合对格式要求不高的场景。
1、以管理员身份运行命令提示符。
2、执行命令:
ipconfig /all > "%USERPROFILE%\Desktop\ipconfig_all.txt"
3、打开桌面生成的 ipconfig_all.txt 文件,在编辑器中搜索 “物理地址” 或 “Physical Address”,逐条复制对应行中的MAC地址及所属适配器名称。
4、新建文本文件,按 适配器名称:MAC地址 格式逐行粘贴保存为 MAC_List.txt。
三、利用WMI命令行工具导出结构化数据
WMI(Windows Management Instrumentation)提供底层硬件信息查询接口,wmic命令可直接调用,支持字段定制与格式化输出,适合需嵌入自动化流程的用户。
1、以管理员身份启动命令提示符。
2、输入以下命令:
wmic nic where "NetEnabled=True and MACAddress!='null'" get Name, MACAddress /format:csv > "%USERPROFILE%\Desktop\MAC_WMI.csv"
3、打开生成的 MAC_WMI.csv 文件,首行为列头,第二行起为实际数据,其中第三列为MAC地址,第二列为适配器名称。
四、使用批处理脚本自动提取并整理MAC列表
批处理脚本可封装多步逻辑,自动过滤无效条目、去重并生成标准格式文本,降低人工干预强度,尤其适用于需定期执行的运维任务。
1、新建文本文档,粘贴以下内容:
@echo off
setlocal enabledelayedexpansion
echo 正在收集MAC地址...
set "output=%USERPROFILE%\Desktop\MAC_Batch.txt"
echo 适配器名称 : MAC地址 > "%output%"
for /f "tokens=1,2 delims=:" %%a in ('ipconfig /all ^| findstr "描述.*Name.*Adapter.*适配器.*Ethernet.*无线"') do (
set "adapter=%%b"
set "adapter=!adapter:~1!"
for /f "tokens=2 delims=:" %%c in ('ipconfig /all ^| findstr /B " 物理地址"') do (
set "mac=%%c"
set "mac=!mac:~1!"
if not "!mac!"=="" echo !adapter! : !mac! >> "%output%"
)
)
echo 完成,结果已保存至 %output%
2、将文件另存为 GetMAC.bat,注意编码为ANSI(非UTF-8),右键以管理员身份运行。
3、等待执行完毕后,查看桌面生成的 MAC_Batch.txt 文件,确认每行均为有效映射关系。










