本文目录导读:

Windows 系统
PowerShell 脚本
# 创建系统诊断报告 Get-ComputerInfo | Out-File -FilePath "$env:USERPROFILE\Desktop\SystemReport_$(Get-Date -Format 'yyyyMMdd_HHmmss').txt" # 更详细的系统信息 systeminfo > "$env:USERPROFILE\Desktop\SystemReport.txt" # 获取性能诊断报告 Get-WmiObject Win32_OperatingSystem | Select-Object * | Out-File -FilePath "C:\SystemReport.txt" # 使用 MSInfo32 工具 msinfo32 /report "$env:USERPROFILE\Desktop\SystemReport.nfo"
PowerShell 高级脚本
# 综合诊断报告 $report = @" ===== 系统诊断报告 ===== 生成时间: $(Get-Date) --- CPU 信息 --- $(Get-CimInstance Win32_Processor | Format-Table Name, NumberOfCores, MaxClockSpeed | Out-String) --- 内存信息 --- $(Get-CimInstance Win32_OperatingSystem | Format-Table TotalVisibleMemorySize, FreePhysicalMemory | Out-String) --- 磁盘信息 --- $(Get-PSDrive -PSProvider FileSystem | Format-Table Name, Used, Free | Out-String) --- 网络信息 --- $(Get-NetAdapter | Format-Table Name, Status, LinkSpeed | Out-String) --- 正在运行的进程 --- $(Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 | Format-Table Name, CPU, WorkingSet | Out-String) "@ $report | Out-File -FilePath "$env:USERPROFILE\Desktop\SystemReport_$(Get-Date -Format 'yyyyMMdd_HHmmss').txt"
Linux 系统
Bash 脚本
#!/bin/bash # 基本系统信息 echo "===== 系统诊断报告 =====" > system_report.txt echo "生成时间: $(date)" >> system_report.txt echo "" >> system_report.txt # CPU 信息 echo "--- CPU 信息 ---" >> system_report.txt cat /proc/cpuinfo | grep "model name" | head -1 >> system_report.txt echo "CPU 核心数: $(nproc)" >> system_report.txt echo "" >> system_report.txt # 内存信息 echo "--- 内存信息 ---" >> system_report.txt free -h >> system_report.txt echo "" >> system_report.txt # 磁盘信息 echo "--- 磁盘信息 ---" >> system_report.txt df -h >> system_report.txt echo "" >> system_report.txt # 网络信息 echo "--- 网络信息 ---" >> system_report.txt ip addr show >> system_report.txt echo "" >> system_report.txt # 系统负载 echo "--- 系统负载 ---" >> system_report.txt uptime >> system_report.txt echo "运行进程数: $(ps aux | wc -l)" >> system_report.txt echo "报告已保存到 system_report.txt"
使用系统工具
# 使用 dmidecode 获取硬件信息 sudo dmidecode > hardware_report.txt # 使用 lshw 获取详细硬件信息 sudo lshw -short > hardware_summary.txt # 使用 inxi 工具(需要安装) inxi -Fx > system_diagnosis.txt
macOS 系统
Bash 脚本
#!/bin/bash echo "===== macOS 系统诊断报告 =====" > mac_report.txt echo "生成时间: $(date)" >> mac_report.txt echo "" >> mac_report.txt # 系统版本 echo "--- 系统版本 ---" >> mac_report.txt sw_vers >> mac_report.txt echo "" >> mac_report.txt # 硬件信息 echo "--- 硬件信息 ---" >> mac_report.txt system_profiler SPHardwareDataType >> mac_report.txt echo "" >> mac_report.txt # 内存使用 echo "--- 内存使用 ---" >> mac_report.txt vm_stat >> mac_report.txt echo "" >> mac_report.txt # 磁盘使用 echo "--- 磁盘使用 ---" >> mac_report.txt df -h >> mac_report.txt echo "" >> mac_report.txt # 网络信息 echo "--- 网络信息 ---" >> mac_report.txt ifconfig >> mac_report.txt echo "报告已保存到 mac_report.txt"
使用 macOS 系统工具
# 系统信息工具 system_profiler -detailLevel full > full_system_report.spx # 诊断工具 sudo sysdiagnose -f ~/Desktop/
跨平台方案
Python 脚本(兼容 Windows/Linux/macOS)
import platform
import psutil
import datetime
def generate_system_report():
report = []
report.append("===== 系统诊断报告 =====")
report.append(f"生成时间: {datetime.datetime.now()}")
report.append("")
# 系统信息
report.append("--- 系统信息 ---")
report.append(f"系统: {platform.system()}")
report.append(f"主机名: {platform.node()}")
report.append(f"版本: {platform.version()}")
report.append("")
# CPU 信息
report.append("--- CPU 信息 ---")
report.append(f"CPU 核心数: {psutil.cpu_count()}")
report.append(f"CPU 使用率: {psutil.cpu_percent(interval=1)}%")
report.append("")
# 内存信息
report.append("--- 内存信息 ---")
mem = psutil.virtual_memory()
report.append(f"总内存: {mem.total / (1024**3):.2f} GB")
report.append(f"已用内存: {mem.used / (1024**3):.2f} GB")
report.append(f"使用率: {mem.percent}%")
report.append("")
# 磁盘信息
report.append("--- 磁盘信息 ---")
for partition in psutil.disk_partitions():
usage = psutil.disk_usage(partition.mountpoint)
report.append(f"{partition.device}: {usage.used / (1024**3):.2f} GB / {usage.total / (1024**3):.2f} GB")
return "\n".join(report)
# 保存报告
with open("system_report.txt", "w", encoding="utf-8") as f:
f.write(generate_system_report())
print("系统诊断报告已生成: system_report.txt")
使用建议
- Windows: 以管理员身份运行 PowerShell 或命令提示符,获取更完整的信息
- Linux: 某些命令需要 root 权限(使用
sudo) - macOS: 首次运行需允许系统安全设置
- 存储位置: 建议指定输出路径,避免权限问题
- 自动化: 可设置定时任务(Windows 任务计划程序/Linux cron/macOS launchd)定期生成报告
根据你的具体需求选择合适的脚本即可。