怎么用脚本获取电源方案

wen 实用脚本 2

本文目录导读:

怎么用脚本获取电源方案

  1. 方法一:使用PowerShell(推荐)
  2. 方法二:使用CMD命令行
  3. 方法三:使用VBScript
  4. 输出示例:
  5. 注意事项:
  6. 扩展功能(可选)

要使用脚本获取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

注意事项:

  1. 管理员权限:某些操作可能需要管理员权限,特别是修改电源方案时
  2. PowerShell执行策略:如果PowerShell脚本无法运行,可能需要设置执行策略:
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  3. Windows版本:不同版本的Windows可能略有差异,但powercfg命令在所有Windows版本中基本一致
  4. GUID:每个电源方案都有一个唯一的GUID,可以通过powercfg /list查看

扩展功能(可选)

如果你想获取更详细的电源设置参数:

# 查看当前方案的详细设置
powercfg /query
# 查看特定方案的设置
powercfg /query SCHEME_CURRENT

选择哪种方法取决于你的具体需求:

  • PowerShell:功能最强大,适合复杂的脚本需求
  • CMD批处理:简单快速,适合快速查看
  • VBScript:兼容性最好,适合老旧系统

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