怎么用脚本获取系统诊断报告

wen 实用脚本 2

本文目录导读:

怎么用脚本获取系统诊断报告

  1. Windows 系统
  2. Linux 系统
  3. macOS 系统
  4. 跨平台方案
  5. 使用建议

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")

使用建议

  1. Windows: 以管理员身份运行 PowerShell 或命令提示符,获取更完整的信息
  2. Linux: 某些命令需要 root 权限(使用 sudo
  3. macOS: 首次运行需允许系统安全设置
  4. 存储位置: 建议指定输出路径,避免权限问题
  5. 自动化: 可设置定时任务(Windows 任务计划程序/Linux cron/macOS launchd)定期生成报告

根据你的具体需求选择合适的脚本即可。

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