本文目录导读:

要使用脚本获取Windows系统的电源方案(电源计划),可以使用PowerShell或命令行(CMD),以下是几种常用的方法:
使用PowerShell(推荐)
获取当前活动的电源方案
powercfg /getactivescheme
列出所有电源方案
powercfg /list
获取更详细的信息(包括GUID和友好名称)
# 方法1:使用powercfg powercfg /list | Select-String "Power Scheme" # 方法2:使用PowerShell Cmdlet (Windows 10/11) Get-CimInstance -Namespace root\cimv2\power -ClassName Win32_PowerPlan | Select-Object ElementName, IsActive
完整的PowerShell脚本示例
# 获取所有电源方案
$powerPlans = Get-CimInstance -Namespace root\cimv2\power -ClassName Win32_PowerPlan
Write-Host "所有电源方案:" -ForegroundColor Green
foreach ($plan in $powerPlans) {
$status = if ($plan.IsActive) { "当前使用" } else { "未使用" }
Write-Host " $($plan.ElementName) - $status"
}
# 获取当前活动方案
$activePlan = $powerPlans | Where-Object { $_.IsActive }
Write-Host "`n当前活动电源方案: $($activePlan.ElementName)" -ForegroundColor Yellow
使用CMD命令行
批处理脚本 (get_power_scheme.bat)
@echo off chcp 65001 >nul echo 当前电源方案: powercfg /getactivescheme echo. echo 所有电源方案: powercfg /list pause
获取更详细信息的批处理脚本
@echo off
chcp 65001 >nul
echo ============ 电源方案信息 ============
echo.
echo [当前活动方案]
for /f "tokens=2 delims=:" %%i in ('powercfg /getactivescheme') do (
set "active=%%i"
)
echo %active%
echo.
echo [所有可用方案]
powercfg /list
pause
使用VBScript
' get_power_scheme.vbs
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("powercfg /list")
strOutput = objExec.StdOut.ReadAll
WScript.Echo "当前电源方案信息:"
WScript.Echo strOutput
' 获取活动方案
Set objExec2 = objShell.Exec("powercfg /getactivescheme")
strActive = objExec2.StdOut.ReadAll
WScript.Echo "活动方案:"
WScript.Echo strActive
输出示例:
运行脚本后,你会看到类似如下的输出:
所有电源方案:
Balanced - 当前使用
High performance - 未使用
Power saver - 未使用
当前活动电源方案: Balanced
注意事项:
- 管理员权限:某些操作可能需要管理员权限,特别是修改电源方案时
- PowerShell执行策略:如果PowerShell脚本无法运行,可能需要设置执行策略:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
- Windows版本:不同版本的Windows可能略有差异,但
powercfg命令在所有Windows版本中基本一致 - GUID:每个电源方案都有一个唯一的GUID,可以通过
powercfg /list查看
扩展功能(可选)
如果你想获取更详细的电源设置参数:
# 查看当前方案的详细设置 powercfg /query # 查看特定方案的设置 powercfg /query SCHEME_CURRENT
选择哪种方法取决于你的具体需求:
- PowerShell:功能最强大,适合复杂的脚本需求
- CMD批处理:简单快速,适合快速查看
- VBScript:兼容性最好,适合老旧系统