Windows 11 下使用 PowerShell 自动检测电脑硬件健康状态自检脚本

2026年01月21日/ 浏览 5

在企业运维、电脑维护或设备批量管理场景中,我们常常需要检测电脑硬件健康状态(CPU、内存、磁盘、主板、网络等),以便提前发现问题。

今天,我们将使用 PowerShell 来实现一键检测并生成健康报告的自动化脚本。

这篇教程适合系统管理员、IT运维工程师、甚至普通用户使用,无需安装第三方工具。

一、实现目标

通过本文,你将实现以下功能:

✅ 一键检测系统主要硬件健康状况

✅ 自动输出检测报告(CPU温度、磁盘健康、内存占用等)

✅ 可批量执行在多台电脑上(企业环境)

✅ 无需安装插件,Windows 11 自带可用

⚙️ 二、环境准备

项目

要求

操作系统

Windows 11 / Windows 10

权限要求

管理员权限

工具

PowerShell 5.1 或 PowerShell 7+

打开 PowerShell(以管理员身份运行):

按下 Win + X → 选择 Windows PowerShell(管理员)

三、检测脚本核心功能概览

我们的检测脚本将分为以下模块:

✅ CPU 信息检测✅ 内存使用率监控✅ 磁盘健康与温度检测✅ 主板与 BIOS 信息读取✅ 网络连接状态与速率检测✅ 自动生成健康报告文件

四、完整 PowerShell 脚本

在 PowerShell 编辑器(或记事本)中创建脚本文件:

路径示例:

C:\Scripts\CheckSystemHealth.ps1

将以下完整内容复制进去

# ===========================================

# Windows 11 自动化硬件健康检测脚本

# 作者: Jack Zhang

# 版本: v1.0

# ===========================================

$ReportPath = "C:\Scripts\SystemHealthReport.txt"

"系统硬件健康报告 - $(Get-Date)" | Out-File $ReportPath

# ---- CPU 信息 ----

"------------------ CPU 信息 ------------------" | Out-File $ReportPath -Append

Get-CimInstance Win32_Processor | Select-Object Name, MaxClockSpeed, NumberOfCores, NumberOfLogicalProcessors | Format-Table | Out-String | Out-File $ReportPath -Append

# ---- 内存信息 ----

"------------------ 内存使用率 ----------------" | Out-File $ReportPath -Append

$mem = Get-CimInstance Win32_OperatingSystem

$used = ($mem.TotalVisibleMemorySize - $mem.FreePhysicalMemory) / 1MB

$total = $mem.TotalVisibleMemorySize / 1MB

$percent = ($used / $total) * 100

"当前内存占用: {0:N2} GB / {1:N2} GB ({2:N2}%)" -f $used, $total, $percent | Out-File $ReportPath -Append

# ---- 磁盘健康 ----

"------------------ 磁盘健康状态 --------------" | Out-File $ReportPath -Append

Get-CimInstance Win32_DiskDrive | Select-Object Model, Status, Size | Format-Table | Out-String | Out-File $ReportPath -Append

# ---- 主板信息 ----

"------------------ 主板 & BIOS ---------------" | Out-File $ReportPath -Append

Get-CimInstance Win32_BaseBoard | Select-Object Manufacturer, Product, SerialNumber | Format-Table | Out-String | Out-File $ReportPath -Append

Get-CimInstance Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion, ReleaseDate | Format-Table | Out-String | Out-File $ReportPath -Append

# ---- 网络检测 ----

"------------------ 网络状态 ------------------" | Out-File $ReportPath -Append

Get-NetAdapter | Select-Object Name, Status, LinkSpeed | Format-Table | Out-String | Out-File $ReportPath -Append

# ---- 输出完成提示 ----

"`n报告已生成:$ReportPath" | Out-File $ReportPath -Append

Write-Host "✅ 系统硬件健康检测完成!报告已保存到:$ReportPath"

五、运行脚本

在 PowerShell 管理员模式下执行:

Set-ExecutionPolicy RemoteSigned -Scope Process -Force

C:\Scripts\CheckSystemHealth.ps1

执行后,你将在 C:\Scripts\SystemHealthReport.txt 看到如下结果:

系统硬件健康报告 - 2025/10/06

------------------ CPU 信息 ------------------

Name: Intel(R) Core(TM) i7-13700H

MaxClockSpeed: 4800

NumberOfCores: 14

NumberOfLogicalProcessors: 20

------------------ 内存使用率 ----------------

当前内存占用: 8.25 GB / 15.89 GB (51.90%)

------------------ 磁盘健康状态 --------------

Model: Samsung SSD 980 PRO

Status: OK

Size: 1000204886016

------------------ 主板 & BIOS ---------------

Manufacturer: ASUS

Product: PRIME B760M-A

SerialNumber: XXXXXXXXXXXX

...

六、可扩展功能

如果你想进一步增强脚本,可添加以下功能模块:

功能

PowerShell 模块

示例命令

GPU 状态

Get-CimInstance Win32_VideoController

检查显卡型号与驱动

温度监控

结合 WMI 或 OpenHardwareMonitor API

获取CPU温度

报告导出为HTML

ConvertTo-Html

生成图文报告

批量检测多台主机

使用 Invoke-Command

远程执行脚本

七、总结

通过本文,你学会了:

使用 PowerShell 自动检测电脑硬件健康 生成详细的健康报告 无需第三方工具即可快速诊断设备

该方案非常适合:

企业IT部门批量电脑巡检系统维护人员定期健康检查个人用户定期检测电脑性能

picture loss