做运维那几年我干过不少“抄序列号”的活。最崩溃的一次是年底资产盘点到一半行政拿着Excel表格来找我六十多台电脑每台要设备序列号、MAC地址和硬盘序列号半天内交。那时候要是还不会用命令行挨个翻设备管理器估计加班到凌晨都完不成。后来熟练了整理一台机器的这三项信息从头到尾不超过三十秒。Windows 查询计算机设备序列号、MAC地址和硬盘序列号看起来是三件小事但真正动手会踩到一堆细节WMIC在新系统里被砍、硬盘序列号返回乱序、虚拟网卡混进MAC列表……这篇文章把我用过的图形界面和命令行两套路径以及最终沉淀下来的批量盘点方案一次性讲清楚最后附上我实际排查过的常见问题。看完你基本可以照着抄作业。1. 先别急着敲命令这三类“序列号”分别是什么很多人上来就搜“硬盘序列号怎么查”其实连要查的对象都没分清楚。设备序列号、MAC地址、硬盘序列号各自承担的任务完全不同登记场景也不同。我先把基础概念捋一遍后面查起来才不会张冠李戴。1.1 设备序列号整机的身份证设备序列号也叫整机序列号、主机序列号是厂商出厂时分配给整台电脑的编号一般烧录在主板的BIOS/DMI信息区域里。笔记本、品牌台式机基本都有它对应的是这台机器本身而不是某个配件。保修服务、售后申请、出厂配置查询靠的都是它。有些企业在入域、资产标签、IT服务台工单系统里也会拿设备序列号当唯一标识。这个序列号存放在BIOS的DMI信息里所以有个很有意思的现象哪怕你换了硬盘、重装系统序列号通常还在。只要BIOS没刷坏它就一直跟着主板走。查询时看到“Default string”“To be filled by O.E.M.”这类值也别慌多半是组装机或者工程样板机厂商没往里写有效序列号这种情况只能靠主板序列号加MAC地址兜底。1.2 MAC地址网卡层面的身份标识MAC地址是网卡的物理地址烧录在网卡的EEPROM里是一串48位的十六进制数通常写成“A4-B1-C1-2D-3E-4F”或“A4:B1:C1:2D:3E:4F”的格式。它解决的是“这台设备在网络里是谁”的问题。做网络管理的人对MAC最敏感DHCP要按MAC做保留地址、无线网络要做MAC白名单、交换机要按MAC定位端口还有远程开机Wake-on-LAN也得靠它。但这里有个坑——一台电脑通常不止一块网卡。笔记本有有线网卡和无线网卡有的还带蓝牙蓝牙同样有MAC再算上WSL、Hyper-V、虚拟WiFi这类功能创建的虚拟网卡ipconfig /all一刷就是一大串。查询的时候必须先想清楚你要登记的是物理有线还是物理无线还是全部都要。1.3 硬盘序列号硬盘自己的“钢印号”硬盘序列号是硬盘出厂时印刷在盘体标签上的唯一编号相当于硬盘的钢印号和生产厂家、型号、固件版本一起构成硬盘的身份信息。硬盘保修、返厂检测、资产登记都会用到它主要用来证明“这块盘就是那块盘”。这里特别容易混的是“卷序列号”。在CMD里敲vol C:会返回类似“3A6E-8B2F”的一串东西很多新手以为这就是硬盘序列号其实不是。卷序列号是Windows格式化分区时随机生成的逻辑标识只要重新格式化就会变跟硬盘出厂钢印号完全没关系。做资产盘点的时候拿卷序列号去登记硬盘是会闹笑话的。后续章节里凡是我说“硬盘序列号”指的都是硬盘物理序列号而不是卷序列号。2. 图形界面查询不敲命令也能拿到只是步骤多如果你手里只有一台机器偶尔查一次完全没必要上命令行。图形界面虽然点来点去麻烦但胜在直观。我从三类信息分别说下最靠谱的图形界面路径。2.1 设备序列号最靠谱的GUI路径在BIOS里Windows自带的“系统信息”工具运行里输入msinfo32能看到系统制造商、系统型号、BIOS版本这些信息但很多时候并不直接显示整机序列号。设置里的“系统 关于”也一样通常只给个设备ID和系统SKU用处有限。想在图形界面里稳定拿到设备序列号最快的方法是重启进BIOS开机时按F2、Del或Esc进固件设置界面在System Information或Product Information这类菜单里一般都能看到Product Serial Number。还有一个笨办法但也很实用翻机身贴纸。笔记本底部、台式机机箱侧面、电池仓内厂商通常会贴带有序列号的标签格式如“Service Tag”“SN”“Serial No.”。贴纸会磨损所以我还是建议以BIOS里读到的值为准。2.2 MAC地址在“硬件属性”里就有Windows 10和Windows 11都把这个入口放在了显眼位置。以Windows 11为例设置 网络和Internet WLAN或以太网找到当前连接的网络点击“硬件属性”里面会明确列出“物理地址(MAC)”下面还有IP地址、DNS等信息。Windows 10的路径类似设置 网络和Internet 查看网络属性同样能看到物理地址。老系统也有自己的入口控制面板 网络和共享中心 更改适配器设置右键当前网卡选状态再点“详细信息”“物理地址”一行就是MAC。这个办法在Windows 7到Windows 11都通用只是步骤更多。图形界面查MAC的缺点在于一次只能看一块网卡如果机器装了五六块网卡你得来回切换好几轮。2.3 硬盘序列号用第三方工具反而最快Windows设备管理器里能看硬盘的详细属性按WinX打开设备管理器展开“磁盘驱动器”双击硬盘切到“详细信息”选项卡属性列表里选“SCSI设备标识”或“硬件Id”能翻到一些身份信息。但说实话这个窗口对普通用户很不友好字段晦涩序列号也不一定完整显示。查硬盘序列号图形界面里最明显好用的是CrystalDiskInfo。打开软件顶部就显示型号、固件版本、序列号还顺带把健康状态、通电时间、温度都给出了。做二手硬盘检测、跑售后的时候我基本都是直接开这个工具。它的缺点是得下载安装不适合在客户机器上临时查看真要在不装任何软件的情况下查还是得回到命令行。3. 命令行查询一条命令搞定信息更全命令行是我现在的主力方式。只要机器能打开CMD或PowerShell三类信息各条命令就能拿到还能把结果直接重定向到文件里方便批量汇总。这一节我把常用命令逐个拆开讲顺便解释为什么某些命令会有坑。3.1 设备序列号WMIC和PowerShell两种写法打开CMD直接敲下面这条拿到的就是整机序列号wmic csproduct get serialnumber想同时看到机器型号可以写成wmic csproduct get name, serialnumber如果只想看机箱/底座的序列号也就是桌面主机机箱上的那串可以换成wmic systemenclosure get serialnumber笔记本上这两个命令返回的通常是同一个值但品牌台式机上机箱序列号和整机序列号理论上可能不同登记时按你资产表里的字段定义选一个就行。这里必须提醒一句**WMIC这条命令在较新的Windows 11和Windows Server 2025里已经默认不存在了。**微软这些年一直在推进用PowerShell替代WMIC我从Windows 11 24H2开始已经养成了尽量不用WMIC的习惯。PowerShell里对应的是CIM查询Get-CimInstance -ClassName Win32_ComputerSystemProduct | Select-Object -ExpandProperty SerialNumber或者看机箱序列号Get-CimInstance -ClassName Win32_SystemEnclosure | Select-Object -ExpandProperty SerialNumber两类查询都不强制要求管理员权限但建议还是以管理员身份运行命令行窗口免得遇到个别环境策略限制读不到WMI。3.2 MAC地址怎么查getmac最清晰ipconfig最通用“mac地址怎么查”是网上问得最多的关键词。最通用的是ipconfig /all在CMD里运行后每个网卡段落里找“物理地址”那一行就是MAC。这个命令所有Windows版本都有问题在于输出很长网卡一多看到眼花。我更推荐getmacgetmac /v /fo list/v显示详细信息/fo list改成竖排格式会把连接名和对应的MAC地址排在一起比ipconfig /all干净很多。如果只要纯文本好做后续处理可以加/fo csvgetmac /fo csv /vPowerShell里还能只显示物理网卡过滤掉虚拟网卡Get-NetAdapter -Physical | Select-Object Name, MacAddress, Status加-Physical参数后WSL虚拟网卡、Hyper-V虚拟交换机、各种Miniport虚拟设备基本都被过滤掉了剩下的就是真正插在机器上的有线、无线网卡。如果还想看网卡连接状态可以再加个Where-Object { $_.Status -eq Up }只输出正在联网的网卡。3.3 硬盘序列号怎么查注意返回值里的“乱序”陷阱查硬盘物理序列号经典命令是wmic diskdrive get model, serialnumber输出里Model是硬盘型号SerialNumber是序列号。但这个序列号有个著名的坑对SATA硬盘来说Windows通过SCSI指令回读ATA信息时序列号字符会出现按16位字倒序的情况所以WMIC返回的字符串经常看着像“字符顺序不对”的乱码未必和盘体标签上印的一致。这不是硬盘坏了也不是命令错了而是接口转换带来的字节序问题。遇到这种情况优先用PowerShell的存储接口看Get-PhysicalDisk | Select-Object FriendlyName, SerialNumber, MediaTypeGet-PhysicalDisk走的是Windows存储管理API返回的序列号通常比WMIC规整得多不用再做额外的字符顺序修正。想确认到底哪一个是盘体标签上的原始序列号装上CrystalDiskInfo对照一眼就清楚了。顺带再强调一次vol C:返回的是卷序列号不是硬盘物理序列号。做硬盘资产登记、跑保修一律以盘体标签或上面这些命令输出为准。4. 批处理和脚本化“三十秒收集一台”的实战做法单台机器查完了接下来才是真正拉开差距的场景——几十台机器一张表半天交。手抄是不可能手抄的我一般是直接跑脚本让每台机器自己生成一个文本文件再合并进Excel。这里给出一套可以直接复制的方案。4.1 一个bat脚本导出本机信息把这个脚本存成collect_info.bat双击或管理员运行会在当前目录生成一个以计算机名命名的文本文件echo off setlocal set outputPC_%COMPUTERNAME%_info.txt echo 计算机名: %COMPUTERNAME% %output% echo 查询时间: %date% %time% %output% echo. %output% echo [设备序列号] %output% wmic csproduct get serialnumber %output% 2nul echo. %output% echo [MAC地址] %output% getmac /fo list /v %output% 2nul echo. %output% echo [硬盘序列号] %output% wmic diskdrive get model, serialnumber %output% 2nul echo 结果已保存到: %output%注意几个细节。第一文件保存成bat时如果里面有中文建议用ANSI编码保存否则在部分CMD环境里会显示乱码实在嫌麻烦把输出内容里的中文提示全部改成英文。第二是追加写入注意不要漏否则后面的内容会覆盖前面的。第三如果目标机器已经装新版Windows、没有WMICwmic那几行会提示错误虽然不影响整体运行但输出文件里会留下错误信息所以更推荐下面这个PowerShell版本。4.2 PowerShell脚本更省心结构清晰、结果规整PowerShell脚本对信息结构控制更强还可以把虚拟网卡过滤掉、把多块硬盘的序列号合并到一行。存成collect_info.ps1然后运行$computer $env:COMPUTERNAME $serial (Get-CimInstance -ClassName Win32_ComputerSystemProduct).SerialNumber $macs (Get-NetAdapter -Physical | Where-Object Status -eq Up | Select-Object -ExpandProperty MacAddress) -join ; $disks (Get-PhysicalDisk | ForEach-Object { $_.FriendlyName [ $_.SerialNumber ] }) -join ; [PSCustomObject]{ 计算机名 $computer 设备序列号 $serial MAC地址 $macs 硬盘序列号 $disks } | Format-List想保存成文件把最后的Format-List改成} | Out-String | Set-Content -Path PC_${computer}_info.txt如果公司电脑默认禁止运行脚本右键开始菜单打开“Windows PowerShell(管理员)”先执行一次Set-ExecutionPolicy -Scope Process Bypass再运行脚本即可。这个设置只对当前进程生效不会改变系统全局策略不影响安全要求。4.3 批量收集多台机器的方向和注意点如果机器都在本机脚本思路就够用了。跨机器收集大概有两类做法。一类是传统WMI远程wmic /node:目标机器名 csproduct get serialnumber前提是目标机器开启远程WMI、当前账号有管理员权限、防火墙放行。WMIC本身被淘汰后这套老办法会越来越不好使。另一类是PowerShell远程Invoke-Command -ComputerName PC001 -ScriptBlock { $serial (Get-CimInstance Win32_ComputerSystemProduct).SerialNumber $mac (Get-NetAdapter -Physical | Where-Object Status -eq Up).MacAddress [PSCustomObject]{ Computer $env:COMPUTERNAME; SN $serial; MAC $mac } }PowerShell远程需要目标机器启用WinRM通常在域环境里顺手Enable-PSRemoting可以快速开启。真做几十台机器批量收集时我最常碰到的反倒不是命令本身出错而是Excel合并时空格、换行符被带进去所以后续处理统一用TRIM清理一下是必须的。5. 常见问题与排查技巧实录这一节是我踩坑最密集的地方直接用速查表加经验总结的方式列出方便你遇到问题对号入座。5.1 常见问题速查表现象可能原因处理方法提示“wmic不是内部或外部命令”新版本Windows已移除WMIC组件改用Get-CimInstance、Get-PhysicalDisk等PowerShell命令查询序列号提示“拒绝访问”权限不足或安全软件拦截WMI查询以管理员身份运行CMD/PowerShell或临时加白名单ipconfig /all列出一堆网卡虚拟网卡、虚拟WiFi、蓝牙等都在列表里用Get-NetAdapter -Physical过滤物理网卡WMIC返回的硬盘序列号看着像乱序SATA/SCSI读取字节序问题改用Get-PhysicalDisk或用CrystalDiskInfo对照确认设备序列号显示“To be filled by O.E.M.”组装机、工程板BIOS未写入有效序列号用主板序列号、UUID或MAC地址作为替代标识vol C:的序列号和硬盘标签对不上卷序列号不是硬盘物理序列号别用它做硬盘资产登记改用Get-PhysicalDiskbat脚本输出中文乱码文件编码和CMD代码页不一致bat用ANSI保存或在CMD里先执行chcp 65001双硬盘机器分不清哪块盘对应哪个序列号Win32_DiskDrive的Index和盘符对应关系混乱用磁盘管理确认盘符和磁盘编号再按盘型号匹配5.2 避免踩坑的几条心得序列号这种东西最怕的不是查不到而是查到之后抄错。我个人的习惯是所有序列号一律从命令行输出直接复制绝对不靠眼睛看屏幕手动敲。硬盘序列号里的0和O、1和l长得特别像手动抄一遍错误率比你想象的高得多。另外登记到Excel时我会统一做三件事去首尾空格、转成大写、保持整列文本格式。这样做的原因是不同机器返回的序列号经常带多余空格直接用VLOOKUP匹配的时候会莫名其妙对不上序列号大小写不敏感但为了后续人力比对统一大写最省心。写入Excel时把单元格格式设成文本防止像“000123”这类值被自动转成数字丢前导零。品牌机的设备序列号还有个用法拿到后可以直接去对应厂商官网的保修查询页验证一下。我每次做资产盘点的最后一步都会随机抽两三台机器拿设备序列号查一遍保修状态。这既是验证序列号有没有抄错也是顺手把过保设备标记出来下一年预算申请的时候直接有依据。最后再分享一个小技巧如果是帮别人远程查序列号对方不熟悉命令行可以让对方按下Win R输入cmd回车然后把下面这一整行粘贴进去wmic csproduct get serialnumber getmac /v /fo list一条命令同时输出设备序列号和MAC地址对方只需要把窗口里的内容截图发给你。硬盘序列号再单独补一条wmic diskdrive get model, serialnumber这三步已经覆盖了绝大多数“帮同事远程查配置”的场景。碰到没有WMIC的新系统就改成PowerShell把Get-CimInstance和Get-PhysicalDisk连起来跑效果完全一样。这几年我慢慢养成一个习惯但凡要登记新设备第一件事就是把设备序列号、MAC地址、硬盘序列号拷进资产表统一格式后再拿序列号去厂商页面核验一遍。真到要按序列号找保修、追设备、排查网络冲突的时候当初那五分钟整理下来的数据会非常值钱。把这套命令和习惯保留下来下次再有人问你“计算机设备序列号怎么查”你就知道该让他怎么做了。
企业数字化 ERP 产品动态
相关推荐
Substrate区块链开发框架实战:从节点模板到自定义链的完整指南 1. 从一条命令行说起:substrate 到底在解决什么问题第一次接触 substrate 是在一个需要快速验证链上业务逻辑的项目里。当时团队面临一个很现实的问题:从零搭一条链,光是 P2P 网络、共识、状态存储、交易池这些底层模块就够折腾两三个月&… · 2026/9/25 9:24:13
Substrate区块链开发框架入门:从核心原理到自定义Pallet实战 1. 从零认识 Substrate:它到底是什么,能解决什么问题第一次听到 Substrate 这个词,很多人会以为是某个前端框架或者构建工具,其实它是一套用于构建区块链底层系统的开发框架。你可以把它理解成一套“区块链操作系统内核”——它把… · 2026/9/25 9:24:13
Neo4j 5.23.0社区版Windows zip包:安装配置与Cypher查询 简介:这是Neo4j 5.23.0社区版Windows安装压缩包,面向需要构建图数据库环境的学习者、数据工程师与后端开发者,适用于知识图谱、社交网络分析、推荐系统、权限关系管理等强关联数据场景。压缩包共264个文件,约119.26MB,… · 2026/9/25 9:24:13
从Excel到CRM:DeskcommCRM选型、部署与团队落地实战 团队用了三年Excel管客户,直到上个月我算了一笔账:销售离职带走的客户资料、重复跟进的撞单、管理层永远看不到的漏斗数据,一年下来损失的潜在业绩够买好几套企业软件。也就是在那时候,我开始系统性地调研CRM系统,最后… · 2026/9/25 9:57:48
读懂 Claude Code 源码:Agent 持续运行的关键在 settings.json 配置骨架 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 9:57:48
新郑奔驰宝马奥迪专门维修店筛选名录 省心不踩坑 在郑州新郑找靠谱的奔驰宝马奥迪专门修理店,不少车主都会遇到大大小小的麻烦。毕竟豪华车型结构精密,对维修技师的技术、配件品质要求都远高于普通家用车,选对门店,直接决定了维修效果和养车成本。很多车主找遍了比较不错的奔驰宝… · 2026/9/25 9:57:42
PyTorch nn.Linear深度解析:从矩阵运算到GPU优化 1. 这不是“调个函数”那么简单:为什么你总在nn.Linear上卡壳?我带过不少刚从TensorFlow转PyTorch的工程师,也辅导过大量高校实验室的研究生,发现一个特别有意思的现象:90%的人能写出nn.Linear(784, 128)这行代码&… · 2026/9/25 9:57:42
华为昇腾Atlas 300V Pro上YOLOv5推理部署实战与避坑指南 作为一个常年跟各种AI加速硬件打交道的开发者,这两年“atlas”这个词在推理部署圈子里的出现频率越来越高。去年底接了个工业质检项目,客户点名要在华为昇腾的Atlas 300V Pro 24G上跑YOLOv5模型做缺陷检测。我第一次拿到这块卡的时候,心里也犯… · 2026/9/25 9:57:24
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37