你肯定遇到过这种情况:朋友找你问某台电脑的配置,你不想装鲁大师;或者是自己忘了 WiFi 密码,又不想进路由器后台翻;再或者是笔记本要送去售后,急需一串序列号来登记。其实这些乱七八糟的需求,Windows 自带的 cmd 窗口全都能搞定,不需要装任何第三方软件,也不用联网下工具。这篇我把自己这些年摸出来的命令行套路,从查硬盘序列号、笔记本电脑序列号、主板型号,到看整机配置、找回 WiFi 密码,一次性整理清楚,每一步都附上真实输出截图级别的说明,照着敲就能用。
1. 查询前的准备工作
1.1 管理员权限:很多命令的半条命
cmd 分两种打开方式,一种普通权限,一种管理员权限。绝大多数查询命令普通权限就能跑,但有一小部分,比如清 DNS 缓存、修改网络配置、查看某些受保护的硬件信息,普通权限会直接报“拒绝访问”。所以我建议你直接养成习惯,用管理员身份打开 cmd,省得来回折腾。
打开方法很简单:按键盘上的Win键,输入cmd,然后在搜索结果里右键点击“命令提示符”,选择“以管理员身份运行”。如果你用的是 Windows 11,还可以直接按Win + X,在弹出的快捷菜单里选“终端(管理员)”,效果一样。
这里有个小细节:Windows 11 默认的“终端”其实是 PowerShell 的界面,但你照样敲cmd回车,就能切到传统 cmd 环境;或者反正命令通用,直接在 PowerShell 里跑也行。我不太纠结这个,因为下面要用的 wmic、netsh 这两组命令,在 cmd 和 PowerShell 里都认。
注意:本文所有命令都是在你自己电脑上、查你自己设备的信息,合法合规。别拿这些命令去搞别人的设备,守住底线,工具本身没毛病。
1.2 认识 cmd 的核心查询逻辑
cmd 里查信息有个万金油工具叫wmic,全称 Windows Management Instrumentation Command-line,你可以把它理解成 Windows 系统的一个“内部档案室”,里面记着电脑各个硬件的身份证信息。你只需要按照“wmic + 硬件类别 + get + 字段名”的格式去问,它就能给你吐出来。
这个工具的语法相当固定,比如查硬盘序列号,命令是:
wmic diskdrive get serialnumber拆开看就是:wmic调用工具,diskdrive指定查硬盘,get serialnumber表示只要序列号这一个字段。你把它类比成查户口——先找人(diskdrive),再问要哪个信息(serialnumber),思路一下就清楚了对吧。
后面所有硬件查询基本都是这个套路,所以我把这个底层逻辑放在最前面说,比给你堆命令列表管用得多。你掌握了语法规则,就算哪天忘了具体命令,随手wmic diskdrive get /?看一下可用的字段列表,也能自己摸索出来。
2. 硬件信息查询:序列号、型号、配置一次摸清
2.1 硬盘序列号:保修和验机的关键
硬盘序列号相当于硬盘的“身份证号”,每块盘出厂时都是唯一的。这个信息在送修、核对翻新盘、或者给资产管理员登记设备时特别有用。查它只需要一行命令:
wmic diskdrive get serialnumber输出结果一般是一串字母和数字的组合,比如WD-WCC6Y4RU2V8S这样的格式。注意,这里查的是物理硬盘的序列号,不是你在“此电脑”里看到的 C 盘、D 盘卷标。区分方法特别简单:磁盘管理器里看到的是“卷”,而 diskdrive 对应的是“物理磁盘”。
如果你想一次性把硬盘的型号、接口类型、大小也一起查出来,命令可以升级成这样:
wmic diskdrive get model,serialnumber,interfacetype,sizemodel是硬盘型号,interfacetype会显示是 SATA 还是 NVMe,size是容量(单位是字节,看着那一长串数字别慌)。比如一块 512GB 的固态,它会显示512110190592左右,自己除以 1024 的三次方,就是熟悉的 GB 数了。
我这几年帮人验二手笔记本,第一步永远是先跑这条命令,再对着官方资料查序列号。如果发现硬盘序列号和品牌出厂记录对不上,那这块盘八成被换过,可以直接砍价或者直接不买。
2.2 笔记本序列号和 BIOS 信息
笔记本的序列号通常印在机器底部的贴纸上,但日子一久贴纸磨损、或者你自己动手换过外壳,就找不到原始序列号了。这时候 cmd 能直接从 BIOS 里把信息拽出来:
wmic bios get serialnumber哪怕你把底部的贴纸撕了,只要 BIOS 芯片没坏,这条命令永远能给你准确的答案。不管是联系售后、查询保修状态,还是报修时登记,这串字符都是第一凭证。
如果你连品牌带具体型号都想知道,可以再补一条:
wmic csproduct get name,version,uuidcsproduct查的是系统整机信息,name一般会显示电脑的产品系列,version是版本号,uuid是这台设备在主板层面的唯一标识。这个组合在重装系统后激活 Windows 遇到问题、或者需要向 IT 部门提供设备标识时特别好用。
我个人还有一个习惯:收到一台新笔记本,第一件事就是把这几个信息截图存档。以后不管是出二手还是报修,翻出截图就行,不用再开机进系统查一遍。
2.3 主板型号与厂商识别
台式机用户需要格外关注主板信息,因为它决定了你能升级什么 CPU、支持多大频率的内存、有没有第二个 M.2 插槽。cmd 查主板也很简单:
wmic baseboard get manufacturer,product,versionmanufacturer会显示主板厂商,比如Micro-Star International Co., Ltd.是微星,ASUSTeK COMPUTER INC.是华硕;product是主板的具体型号,比如MAG B660M MORTAR WIFI(迫击炮)这种;version一般是版本号,对普通用户来说参考意义不大,但售后时可能会问到。
插一句我的实操体会:主板型号查出来之后,建议直接去官网搜对应型号的支持页面,把 BIOS 更新、驱动下载这些页面收藏起来。因为你一旦知道主板精确型号,所有驱动问题就都迎刃而解了,不用再瞎猜。
另外,“电脑型号”和“主板型号”是两个容易混淆的概念。上面第二条命令查的是整机型号(比如HP EliteBook 840 G3),这一条查的是主板的物理型号。对品牌机来说,整机型号和主板型号往往数字对不上,别因为对不上就觉得自己机器有问题——笔记本的主板大多是定制版,型号和零售市场卖的不一样,再正常不过。
2.4 整机配置查询:CPU、内存、显卡
每次别人发来“帮我看看这电脑配置能不能玩某某游戏”这种消息,我就用下面这几条命令,不用装任何软件就能把配置摸个底朝天。
CPU 信息:
wmic cpu get name,numberofcores,numberoflogicalprocessors这条会返回 CPU 的完整型号(比如Intel(R) Core(TM) i7-12700H)、物理核心数和逻辑处理器数。物理核心是实实在在的核,逻辑处理器是开了超线程之后系统看到的数量,一般逻辑数是物理数的两倍。
内存条信息:
wmic memorychip get capacity,speed,manufacturercapacity是单根内存的容量(字节单位),speed是频率,manufacturer是内存颗粒厂商。如果机器里插了两根内存,这里会显示两行记录。想看内存总容量,就用wmic computersystem get totalphysicalmemory,同样是以字节为单位,看着一大串别懵。
显卡信息相对特殊,wmic 里没有直接的videocontroller查询需要这么写:
wmic path win32_videocontroller get name,driverversionpath win32_videocontroller是指定查 WMI 类中的显卡控制器,name是显卡型号,driverversion是当前驱动的版本号。这里有个坑:如果你的电脑是双显卡(核显+独显),这条命令会输出两行,分别对应核显和独显。你要看独显,就找 NVIDIA 或者 AMD 开头的那一行。
把这些命令综合起来,一台电脑的配置单就齐了。你甚至可以写成一个批处理文件,一键输出所有硬件信息到文本,后面我会详细说这个玩法。
2.5 wmic 退役后的替代方案
这里必须提醒一句:微软已经正式宣布 wmic 在新版 Windows 里逐步弃用。Windows 11 24H2 之后,系统默认不再预装 wmic,你敲wmic可能会提示“not recognized as an internal or external command”。
好消息是,这些查询需求都有替代方案,最简单的是用 PowerShell 的Get-CimInstance命令。举例对比一下:
查硬盘序列号:
Get-CimInstance Win32_DiskDrive | Select-Object SerialNumber查主板型号:
Get-CimInstance Win32_BaseBoard | Select-Object Manufacturer,Product查整机型号:
Get-CimInstance Win32_ComputerSystemProduct | Select-Object Name,Version语法不难理解:Get-CimInstance的Win32_磁盘类别对应 wmic 里的diskdrive、baseboard、csproduct,后面的Select-Object就是“要哪些字段”,基本可以无缝替换。所以如果你新电脑跑不了 wmic,别慌,把上面这几条 PowerShell 版本记住就行。
补充:如果你就喜欢 cmd 的界面,也可以去官网手动下载 wmic 组件放回系统目录,但我不建议这么折腾。既然微软已经明确方向是 PowerShell,早点习惯新命令更省事。
3. WiFi 密码查询:把遗忘的密码找回来
3.1 查看本机连接过的所有 WiFi
WiFi 密码这需求太常见了。最常见的场景是:家里来客人问 WiFi 密码,你想了半天想不起来;或者新买了路由器,想查询旧路由器的 WiFi 密码做参考。其实 Windows 早就把连接成功的 WiFi 密码默认保存下来了,只是一般人不知道去哪里看。
cmd 里查看本机连接过的所有 WiFi 名称:
netsh wlan show profiles这条命令的产出是一个列表,显示“用户配置文件”里所有保存过的 WiFi 名称。比如你之前在咖啡馆连过、在酒店连过、在朋友家连过,只要保存过配置,这里都会记着。
netsh是一个网络相关的命令行工具,wlan表示无线网络,show profiles是列出所有配置文件。你可以把它理解成打开了一个“WiFi 通讯录”,里面存着这台电脑认识的所有无线网络。
有一点要说清楚:这里能查到的只是这台电脑曾经连接并保存过密码的 WiFi,不是扫周围信号的(那是netsh wlan show networks,只能看到没密码的热点名称)。所以别指望拿它去获取陌生人路由器的密码,别越界。
3.2 导出特定 WiFi 的明文密码
找到了 WiFi 名称,下一步就是把密码明文抠出来:
netsh wlan show profile name="WiFi名称" key=clear把命令里的WiFi名称替换成上一步查出来的实际名称,然后看输出里“安全设置”那一栏,有一行写着“关键内容”,冒号后面的就是密码明文。
比如你查到列表里有TP-LINK_5G_802,那么命令就写成:
netsh wlan show profile name="TP-LINK_5G_802" key=clear输出的后半部分你会看到:
安全设置 身份验证 : WPA2-Personal 密码 : 12345678 关键内容 : abc12345那个关键内容后面的abc12345就是 WiFi 密码,而你平时在系统设置里看到的“查看 WiFi 密码”选项,底层也是调用了同样的逻辑。
这里有个关键点必须要说:如果你开的是普通权限 cmd,大概率会报错“请求的操作需要提升”。解决方式就是我开头强调的,用管理员身份打开 cmd。这一步做好了,整个查询过程才会通畅。
3.3 当前 WiFi 信息的实时查询
如果你只是想知道“当前正连着哪个 WiFi”,不用去翻配置文件列表,直接一条命令:
netsh wlan show interfaces输出内容很丰富:SSID是当前连接的网络名称,信号是百分比,接收速率和传输速率是当前协商速率,身份验证是加密方式。我调试网络问题的时候最喜欢看这里——如果信号显示 90% 但速度很慢,那多半不是信号问题,而是路由器带宽或者干扰问题。
还有一个场景我觉得特别实用:家里无线网络老是断,你怀疑是信号不好。跑一下这条命令,看信号的百分比变化,如果数值在 70% 附近反复横跳,说明你正好站在信号临界区,换个位置或者加个路由器做 Mesh 组网就能解决。很多网络“玄学”问题,其实一行命令就能找到方向。
另外,netsh wlan show interfaces里的物理地址(MAC)信息也偶尔有用,比如你在公司网络要做 MAC 白名单绑定,直接照抄就行。顺带一提,如果某个 WiFi 连不上,你先跑这条命令确认一下自己是不是真的连上了——有时候你以为连上了,实际是手机热点在偷跑流量。
4. 常见问题与排查技巧
4.1 命令提示“不是内部或外部命令”的迷思
很多人在 cmd 里敲命令,突然遇到系统提示'wmic' 不是内部或外部命令,也不是可运行的程序或批处理文件,第一反应是“电脑坏了”或者“命令打错了”。其实大概率就两个原因:
第一,你用的系统版本比较高,wmic 被移除或默认不启用。这时候用我前面提到的 PowerShell 命令替代即可。第二,你的PATH环境变量有问题,导致系统找不到 wmic.exe 的路径。这种概率较低,但重装系统或者“精简版”系统容易出现。
排查方法很直接:先试试where wmic,看系统能不能定位到 wmic 的位置。如果提示找不到,就是第一条原因;如果能定位到但还是跑不了,大概率是你的用户权限不够,用管理员身份重开 cmd 再试。
4.2 查询代码提示“拒绝访问”怎么办
之前说了,管理员权限是很多命令的“通行证”。如果你敲那些需要高权限的命令,出现拒绝访问的报错,比如:
netsh wlan show profile name="xxx" key=clear弹出的不是密码,而是一句“请求的操作需要提升”。这时候别想着加什么参数绕过——就是权限不够,解决方式只有一条:关掉当前窗口,重新用“以管理员身份运行”打开 cmd。
Windows 的安全机制就是这样的:高权限命令必须显示提升权限来跑,这是保护系统不被恶意脚本任意篡改的基础设计。所以别嫌麻烦,右键一下的事,换来的是正常查询的体验。
这里分享一个我的习惯动作:需要查询硬件序列号或者 WiFi 密码时,直接Win + X,然后 A 键(管理员终端),所有操作一气呵成。不用每次输入密码点一遍 UAC 弹窗——反正 UAC 就是为了让你思考一下,确认是你本人在操作。
4.3 输出结果乱码或中文显示异常
有段时间我特别喜欢用英文版 Windows,结果发现 cmd 输出的中文全变成了乱码。这不是命令的问题,是代码页编码没对上。Windows 默认用 GBK(代码页 936)显示中文,如果你系统区域设置被改过,或者终端默认代码页不对,就乱码。
解决办法有两种:
一种是临时切换代码页:
chcp 65001这是切到 UTF-8 编码。多数情况下,乱码问题到这里就解决了。
另一种是一劳永逸:在命令行窗口标题栏上右键,选“属性”,在“字体”选项卡里把字体改成“等距字体 Consolas”,或者在区域设置里把系统 Locale 改成“Beta: 使用 Unicode UTF-8 提供全球语言支持”。我实测下来,改完后乱码概率低很多,但 Beta 选项在某些老软件上可能引发新的编码问题,自己权衡。
4.4 查询结果显示“No instance(s) available”
如果硬件查询返回No instance(s) available,先别怀疑命令,先检查硬件本身。我遇到过一次:装了一根内存条,但没插紧,系统完全没识别到,wmic memorychip自然就查不到东西。重新插拔之后立刻恢复正常。
还有一种情况出现在虚拟机环境:虚拟机的wmic csproduct返回的是虚拟机的 UUID,而不是实体硬件的信息,这是正常的。比如你用 VMware 装了个测试系统,查到的序列号是 VMware 分配的,不是宿主机真实硬件信息。如果你在虚拟机里折腾这些命令,输出结果“对不上号”,别慌,不是命令错了,是环境本身就虚拟化。
4.5 进阶:写个批处理,一键导出整机配置单
前面讲的都是单条命令,每查一个信息敲一次,稍微有点碎。我习惯把这些命令攒成一个批处理文件,双击就自动把所有信息导出到一个文本文档里,日常用非常方便。
用记事本新建一个文件,输入以下内容,然后保存为硬件信息查询.bat(注意扩展名是.bat而不是.txt):
@echo off chcp 65001 >nul echo ======================================== echo 电脑硬件信息收集脚本 echo ======================================== echo 正在收集硬盘序列号... wmic diskdrive get model,serialnumber,size echo. echo 正在收集主板信息... wmic baseboard get manufacturer,product,version echo. echo 正在收集整机型号... wmic csproduct get name,version,uuid echo. echo 正在收集CPU信息... wmic cpu get name,numberofcores echo. echo 正在收集内存信息... wmic memorychip get capacity,speed,manufacturer echo. echo 正在收集WiFi配置文件... netsh wlan show profiles echo. echo 收集完成,请截图或记录以上信息。 pause保存后右键“以管理员身份运行”,所有信息会依次显示在窗口中。你还可以在@echo off后面加一行重定向,把输出直接存成文本文件:
wmic diskdrive get model,serialnumber,size > 配置单.txt wmic baseboard get manufacturer,product,version >> 配置单.txt>是覆盖写入,>>是追加写入。这样你跑完之后目录下会生成一个配置单.txt,想发多少份就发多少份,特别适合有大量设备要盘点的人。
4.6 这些命令能做什么,不能做什么
最后说点边界感的问题。网上经常能看到标题党说“cmd 十秒破解 WiFi 密码”,点进去一看全是诱导下载工具的套路。用 cmd 查 WiFi 密码,本质上只能查这台电脑已经连接过、并保存了密码的网络,这是系统记账本,不是万能钥匙。想破解别人路由器?那属于另一码事,既不合法也不道德,别碰。
cmd 能做的合法查询其实已经非常强大了:硬件资产盘点、远程协助前了解配置、网络故障排查、忘记密码找回,这些都是它的主战场。把这些正当场景用熟,日常效率能提一个量级。工具是死的,用在哪,怎么用,全看人。
我自己用这些命令这么多年,最大的心得就是:别背命令,去理解思路。wmic + 硬件类别 + get + 字段是一套,netsh wlan + 动作 + 对象是一套,记着框架,细节用到的时候查就行。真到了记不住的时候,命令后面加/?,系统就给你列出所有可用参数,比任何教程都全。