在 Windows 中,你可以使用 PowerShell 快速获取电脑的序列号(也称为 主板序列号BIOS 序列号)。以下是几种常用的方法:


方法 1:使用 Get-WmiObject(适用于旧版 PowerShell)

Get-WmiObject -Class Win32_BIOS | Select-Object SerialNumber

输出示例:

SerialNumber
-----------
ABC12345XYZ

方法 2:使用 Get-CimInstance(推荐,适用于 PowerShell 5.1+)

Get-CimInstance -ClassName Win32_BIOS | Select-Object SerialNumber

输出示例:

SerialNumber
-----------
ABC12345XYZ

方法 3:使用 wmic 命令(兼容 CMD 和 PowerShell)

wmic bios get serialnumber

输出示例:

SerialNumber
ABC12345XYZ

方法 4:获取更详细的系统信息(包括制造商和型号)

Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object Manufacturer, Model, Name

输出示例:

Manufacturer    Model           Name
------------    -----           ----
LENOVO          ThinkPad X1     DESKTOP-ABC123

方法 5:导出到文本文件(方便记录)

Get-CimInstance -ClassName Win32_BIOS | Select-Object SerialNumber | Out-File -FilePath "C:\Temp\SerialNumber.txt"

📌 文件路径C:\Temp\SerialNumber.txt 会包含序列号信息。


常见问题

1. 为什么返回的序列号是空值或 Default string

  • 某些 OEM 厂商(如虚拟机或部分品牌机)可能不会正确写入 BIOS 序列号。
  • 可以尝试获取 主板序列号 替代:
    Get-CimInstance -ClassName Win32_BaseBoard | Select-Object SerialNumber

2. 如何获取笔记本电脑的序列号?

  • 部分品牌(如 Dell、HP、Lenovo)有专用命令:

    # Dell
    Get-CimInstance -ClassName Win32_SystemEnclosure | Select-Object SerialNumber
    
    # HP
    Get-CimInstance -ClassName Win32_BIOS | Where-Object { $_.Manufacturer -like "*HP*" } | Select-Object SerialNumber

3. 如何批量获取多台电脑的序列号?

  • 使用 Invoke-Command 远程查询(需开启 PowerShell Remoting):
    $computers = "PC1", "PC2", "PC3"
    Invoke-Command -ComputerName $computers -ScriptBlock { Get-CimInstance -ClassName Win32_BIOS | Select-Object SerialNumber }

总结

方法 命令 适用场景
Get-WmiObject Get-WmiObject Win32_BIOS | Select SerialNumber 旧版 PowerShell
Get-CimInstance Get-CimInstance Win32_BIOS | Select SerialNumber 推荐(PowerShell 5.1+)
wmic wmic bios get serialnumber 兼容 CMD
主板序列号 Get-CimInstance Win32_BaseBoard | Select SerialNumber 备用方案

选择最适合你的方式即可快速获取电脑序列号! 🚀

文档更新时间: 2025-08-06 01:11   作者:月影鹏鹏
IT运维支持-AIWALY-月影工作室