脚本如何查看硬件信息

wen 实用脚本 23

本文目录导读:

脚本如何查看硬件信息

  1. Windows 系统
  2. Linux 系统
  3. macOS 系统
  4. 跨平台对比

Windows 系统

Windows 主要使用 PowerShellCMD(批处理) 脚本。

PowerShell (推荐,信息最全)

PowerShell 通过 Get-CimInstanceGet-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的 /procdmidecode 可能需要 sudo(超级用户权限)才能获取完整信息(如内存插槽序列号、BIOS版本)。
  • Windows PowerShell的 CIM命令通常需要管理员权限才能获取某些信息(如BIOS序列号)。

抱歉,评论功能暂时关闭!