本文目录导读:

Windows 系统
Windows 主要使用 PowerShell 或 CMD(批处理) 脚本。
PowerShell (推荐,信息最全)
PowerShell 通过 Get-CimInstance 或 Get-WmiObject 调用 WMI(Windows管理规范)获取硬件信息。
# 查看CPU信息 Get-CimInstance -ClassName Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors, MaxClockSpeed # 查看内存信息 (总容量、速度) Get-CimInstance -ClassName Win32_PhysicalMemory | Select-Object Manufacturer, Capacity, Speed # 总内存大小 (GB) Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object TotalPhysicalMemory # 查看硬盘信息 (型号、大小、状态) Get-CimInstance -ClassName Win32_DiskDrive | Select-Object Model, Size, Status # 查看显卡信息 Get-CimInstance -ClassName Win32_VideoController | Select-Object Name, AdapterRAM, DriverVersion # 查看主板信息 (制造商、产品、序列号) Get-CimInstance -ClassName Win32_BaseBoard | Select-Object Manufacturer, Product, SerialNumber # 查看BIOS版本 Get-CimInstance -ClassName Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion
进阶用法: 将所有信息导出到文件
$report = @{}
$report.CPU = Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores
$report.RAM = Get-CimInstance Win32_PhysicalMemory | Select-Object Capacity
$report | ConvertTo-Json | Out-File hardware_report.json
CMD (批处理 systeminfo)
虽然信息不如WMI详细,但极为简单,适合快速查看关键信息。
@echo off :: 查看操作系统、CPU、BIOS、物理内存和网卡等信息 systeminfo :: 只提取特定行 (例如物理内存) systeminfo | findstr /C:"Total Physical Memory"
Linux 系统
Linux 主要通过读取 /proc 和 /sys 虚拟文件系统,或使用 lshw, dmidecode 等工具。
Shell 脚本 (读取 /proc 文件系统)
#!/bin/bash
echo "=== CPU 信息 ==="
cat /proc/cpuinfo | grep "model name" | head -1
echo "核心数: $(nproc)"
echo ""
echo "=== 内存信息 ==="
# 总内存 (以GB显示)
total_mem=$(awk '/MemTotal/ {printf "%.2f GB", $2/1024/1024}' /proc/meminfo)
echo "总内存: $total_mem"
echo ""
echo "=== 硬盘信息 ==="
# 查看物理磁盘 (排除回环设备和虚拟设备)
lsblk -d -o NAME,SIZE,MODEL,RO | grep -v loop | grep -v sr0
# 或者使用 df 查看分区使用情况
df -h | grep "^/dev/"
echo ""
echo "=== 显卡信息 ==="
# 需要安装 lspci (通常默认有)
lspci | grep -i vga | awk -F ': ' '{print $2}'
echo ""
echo "=== 主板/BIOS信息 ==="
# 需要root权限 (sudo)
sudo dmidecode -t baseboard | grep -E "Manufacturer|Product Name" | head -2
sudo dmidecode -t bios | grep "Version" | head -1
使用 lshw (最详细,需安装)
#!/bin/bash # 适用于 Debian/Ubuntu: sudo apt install lshw # 列举关键硬件 sudo lshw -short | grep -E "system|processor|memory|disk|display"
macOS 系统
macOS 使用 system_profiler 命令,功能强大且不需要额外权限。
方法:Shell 脚本 (使用 system_profiler)
#!/bin/bash echo "=== 硬件概览 ===" system_profiler SPHardwareDataType | grep -E "Model Name|Processor Name|Memory|Serial Number" echo "" echo "=== CPU 详情 ===" sysctl -n machdep.cpu.brand_string echo "" echo "=== 内存插槽 ===" system_profiler SPMemoryDataType | grep -E "Size|Speed|Type" echo "" echo "=== 硬盘信息 ===" diskutil list internal | grep -E "Size|Device|Identifier" # 或者使用更直观的 system_profiler SPStorageDataType | grep -E "Volume Name|Capacity|File System" echo "" echo "=== 显卡信息 ===" system_profiler SPDisplaysDataType | grep -E "Chipset Model|VRAM|Resolution"
跨平台对比
| 系统 | 最佳脚本类型 | 最简便命令 | 最详细命令 |
|---|---|---|---|
| Windows | PowerShell | systeminfo |
Get-CimInstance Win32_* |
| Linux | Bash Shell | cat /proc/cpuinfo |
sudo lshw |
| macOS | Bash Shell | system_profiler SPHardwareDataType |
system_profiler -detailLevel full |
注:
- Linux的
/proc和dmidecode可能需要sudo(超级用户权限)才能获取完整信息(如内存插槽序列号、BIOS版本)。 - Windows PowerShell的 CIM命令通常需要管理员权限才能获取某些信息(如BIOS序列号)。