powershell 电源管理命令 从查看电源计划、电池信息到设置休眠、生成能效报告等多个关键操作。

PowerShell 电源管理命令  从查看电源计划、电池信息到设置休眠、生成能效报告等多个关键操作。

正确无误的命令(可直接使用)

表格
 
命令 说明 状态
powercfg /batteryreport 生成 HTML 格式电池健康报告 ✅ 正确
powercfg /hibernate on/off 启用/禁用休眠 ✅ 正确
powercfg /energy 运行能效诊断(需管理员权限) ✅ 正确
powercfg /devicequery wake_armed 列出可唤醒电脑的设备 ✅ 正确
powercfg /requests 显示阻止睡眠的活跃请求 ✅ 正确
powercfg /lastwake 显示最近唤醒源 ✅ 正确
💡 这些 powercfg 命令是 Windows 内置工具,跨版本兼容性好,推荐优先使用。

 

  • 电源管理主要通过 CIM (WMI) 或 powercfg.exe 实现,不存在官方 PowerManagement 模块
  • 正确做法
    powershell
    # 查看与电源相关的命令(实际很少)
    Get-Command *power* -Module Microsoft.PowerShell.Utility
    # 或直接使用 CIM
    Get-CimClass -Namespace root\cimv2\power
powershell
# 获取电源计划
powercfg /list

# 设置活动计划(使用 GUID)
powercfg /setactive <GUID>
powershell
# 设置睡眠超时(交流电下 30 分钟 = 1800 秒)
powercfg /change standby-timeout-ac 1800
# 直流电下
powercfg /change standby-timeout-dc 900
  • powershell
    # 使用 powercfg 查询 USB 暂停状态
    powercfg /q SCHEME_CURRENT SUB_USB USBSELECTIVE SUSPEND
    或使用完整 CIM 关联查询(复杂,不推荐日常使用)

✅ 正确的 CIM 激活电源计划方法(唯一有效方式)

powershell
# 1. 获取所有电源计划
$plans = Get-CimInstance -Namespace root\cimv2\power -ClassName Win32_PowerPlan

# 2. 找到目标计划(例如 "高性能")
$highPerf = $plans | Where-Object { $_.ElementName -eq "High performance" }

# 3. 激活它(必须用 Invoke-CimMethod)
Invoke-CimMethod -InputObject $highPerf -MethodName Activate
✅ 这是唯一能通过 PowerShell 激活电源计划的正确方法

混合使用 powercfg + 少量 CIM

对于绝大多数用户,优先使用 powercfg,仅在需要程序化解析电源计划时使用 CIM:
powershell
# 查看当前活动计划
powercfg /getactivescheme

# 切换到高性能(已知 GUID)
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

# 生成电池报告
powercfg /batteryreport /output "C:\battery.html"

 

posted @ 2024-02-26 11:34  suv789  阅读(751)  评论(0)    收藏  举报