Powercfg 命令行选项

使用 powercfg.exe 来控制电源计划(也称为电源方案),以使用可用的睡眠状态、控制单个设备的电源状态,以及分析系统中常见的能效和电池寿命问题。

语法

Powercfg 命令行使用以下语法:

powercfg /option [arguments] [ /? ]

其中,option 是下表中列出的选项之一,arguments 是应用于所选选项的一个或多个参数。 在命令行中包含“/?”会显示指定选项的帮助。 本主题稍后会更详细地介绍选项和参数。

命令行选项

选项 说明
/?、-help 显示有关命令行参数的信息。
/list、/L 列出所有电源方案。
/query、/Q 显示电源方案的内容。
/change、/X 修改当前电源方案中的设置值。
/changename 修改电源方案的名称和说明。
/duplicatescheme 复制电源方案。
/delete、/D 删除电源方案。
/deletesetting 删除电源设置。
/setactive、/S 使某个电源方案在系统上处于活动状态。
/getactivescheme 检索当前活动的电源方案。
/setacvalueindex 设置当系统由交流电源供电时与某项电源设置关联的值。
/setdcvalueindex 设置当系统由直流电源供电时与某项电源设置关联的值。
/import 从文件中导入所有电源设置。
/export 将电源方案导出到文件。
/aliases 显示所有别名及其相应的 GUID。
/getsecuritydescriptor 获取与指定的电源设置、电源方案或操作相关联的安全描述符。
/setsecuritydescriptor 获取与电源设置、电源方案或操作关联的安全描述符。
/hibernate、/H 启用和禁用休眠功能。
/availablesleepstates、/A 报告系统上可用的睡眠状态。
/devicequery 返回符合指定条件的设备列表。
/deviceenableawake 启用设备将系统从睡眠状态唤醒的功能。
/devicedisablewake 禁用设备将系统从睡眠状态唤醒的功能。
/lastwake 报告有关哪个组件将系统从上次睡眠转换状态唤醒的信息。
/waketimers 枚举活动的唤醒计时器。
/requests 枚举应用程序和驱动程序电源请求。
/requestsoverride 为特定的进程、服务或驱动程序设置电源请求重写。
/energy 分析系统中常见的能效和电池寿命问题。
/batteryreport 生成电池使用情况的报告。
/sleepstudy 生成诊断系统电源转换报告。
/srumutil 转储来自系统资源使用情况监视器 (SRUM) 的能源估算数据。
/systemsleepdiagnostics 生成系统睡眠转换的诊断报告。
/systempowerreport 生成诊断系统电源转换报告。

命令行选项说明

以下部分描述 Powercfg 命令行选项和参数。

-help 或 /?

显示有关命令行参数的信息。

语法:

powercfg /?

/list 或 /L

列出所有电源方案。

语法:

powercfg /list

/query 或 /Q

显示指定的电源方案的内容。

语法:

powercfg /query [scheme_GUID] [sub_GUID]

如果未提供 scheme_GUIDsub_GUID 参数,则显示当前活动电源方案的设置。 如果未指定 sub_GUID 参数,则显示指定电源方案中的所有设置。

参数:

scheme_GUID

  指定电源方案 GUID。 运行 powercfg /list 可返回电源方案 GUID。

sub_GUID

  指定电源设置子组 GUID。 运行 powercfg /query 可返回电源设置子组 GUID。

示例:

powercfg /query
powercfg /query 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20

/change 或 /X

修改当前电源方案中的设置值。

语法:

 /change setting value

参数:

setting

  指定以下选项之一:

  • monitor-timeout-ac
  • monitor-timeout-dc
  • disk-timeout-ac
  • disk-timeout-dc
  • standby-timeout-ac
  • standby-timeout-dc
  • hibernate-timeout-ac
  • hibernate-timeout-dc

value

  指定以分钟为单位的值。

示例:

powercfg /change monitor-timeout-ac 5

/changename

修改电源方案的名称,并选择性地修改其说明。

语法:

 powercfg /changename *scheme_GUID * name [description]

参数:

scheme_GUID

  指定电源方案 GUID。 运行 powercfg /list 可返回电源方案 GUID。

name

  指定电源方案的新名称。

 description

指定电源方案的新说明。 如果未指定说明,则只更改名称。

示例:

powercfg /changename 381b4222-f694-41f0-9685-ff5bb260df2e "Customized Balanced"

/duplicatescheme

复制指定的电源方案。 将显示生成的用于表示新方案的 GUID。

语法:

 powercfg /duplicatescheme scheme_GUID [destination_GUID]

参数:

scheme_GUID

  指定电源方案 GUID。 运行 powercfg /list 可返回电源方案 GUID。

destination_GUID

  指定新电源方案的 GUID。 如果未指定 GUID,则创建新的 GUID。

示例:

powercfg /duplicatescheme 381b4222-f694-41f0-9685-ff5bb260df2e

/delete 或 /D

删除带有指定 GUID 的电源方案。

语法:

 powercfg /delete scheme_GUID

参数:

scheme_GUID

  指定电源方案 GUID。 运行 powercfg /list 可返回电源方案 GUID。

示例:

powercfg /delete 381b4222-f694-41f0-9685-ff5bb260df2e

/deletesetting

删除电源设置。

语法:

 powercfg /deletesetting sub_GUIDsetting_GUID

参数:

sub_GUID

  指定电源设置子组 GUID。 运行 powercfg /query 可返回电源设置子组 GUID。

setting_GUID

  指定电源设置 GUID。 运行 powercfg /query 可返回电源设置 GUID。

示例:

powercfg /deletesetting 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da

/setactive 或 /S

使指定的电源方案在系统上保持活动状态。

语法:

 powercfg /setactive scheme_GUID

参数:

scheme_GUID

  指定电源方案 GUID。 运行 powercfg /list 可返回电源方案 GUID。

示例:

powercfg /setactive 381b4222-f694-41f0-9685-ff5bb260df2e

/getactivescheme

检索当前活动的电源方案。

语法:

 powercfg /getactivescheme

/setacvalueindex

设置当系统由交流电源供电时与指定的电源设置关联的值。

语法:

 powercfg /setacvalueindex scheme_GUIDsub_GUIDsetting_GUIDsetting_index

参数:

scheme_GUID

  指定电源方案 GUID。 运行 powercfg /list 可返回电源方案 GUID。

sub_GUID

  指定电源设置子组 GUID。 运行 powercfg /query 可返回电源设置子组 GUID。

setting_GUID

  指定电源设置 GUID。 运行 powercfg /query 可返回电源设置 GUID。

setting_index

  指定此项设置可使用的可能值。 运行 powercfg /query 可返回可能值的列表。

示例:

powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 0

/setdcvalueindex

设置当系统由直流电源供电时与指定的电源设置关联的值。

语法:

 powercfg /setdcvalueindex scheme_GUIDsub_GUIDsetting_GUIDsetting_index

参数:

scheme_GUID

  指定电源方案 GUID。 运行 powercfg /list 可返回电源方案 GUID。

sub_GUID

  指定电源设置子组 GUID。 运行 powercfg /query 可返回电源设置子组 GUID。

setting_GUID

  指定电源设置 GUID。 运行 powercfg /query 可返回电源设置 GUID。

setting_index

  指定此项设置可使用的可能值。 运行 powercfg /query 可返回可能值的列表。

示例:

powercfg /setdcvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 300

/import

从指定的文件导入电源方案。

语法:

 powercfg /import file_name [GUID]

参数:

 file_name

  指定运行 powercfg /export 后返回的文件的完全限定路径。

GUID

  指定导入的方案的 GUID。 如果未指定 GUID,则创建新的 GUID。

示例:

powercfg /import c:\scheme.pow

/export

将指定 GUID 表示的电源方案导出到指定文件。

语法:

 powercfg /export file_name GUID

参数:

 file_name

  指定目标文件的完全限定路径。

GUID

  指定电源方案 GUID。 运行 powercfg /list 可返回电源方案 GUID。

示例:

powercfg /export c:\scheme.pow 381b4222-f694-41f0-9685-ff5bb260df2e

/aliases

显示别名及其相应 GUID 的列表。 可以在任何命令中使用这些别名来代替 GUID。

语法:

 powercfg /aliases

注意

某些设置不包含别名。 若要查看 GUID 的完整列表,请使用 powercfg /query

/getsecuritydescriptor

获取与指定的电源设置、电源方案或操作关联的安全描述符。

语法:

 powercfg /getsecuritydescriptor GUID | action

参数:

GUID

  指定电源方案或电源设置 GUID。 运行 powercfg /list 可返回电源方案 GUID。 运行 powercfg /query 可返回电源设置 GUID。

action

  指定以下操作之一:

  • ActionSetActive
  • ActionCreate
  • ActionDefault

示例:

powercfg /getsecuritydescriptor 381b4222-f694-41f0-9685-ff5bb260df2e<br />
powercfg /getsecuritydescriptor ActionSetActive

/setsecuritydescriptor

设置与指定的电源设置、电源方案或操作关联的安全描述符。

语法:

 powercfg /setsecuritydescriptor GUID | action SDDL

参数:

GUID

  指定电源方案或电源设置 GUID。 运行 powercfg /list 可返回电源方案 GUID。 运行 powercfg /query 可返回电源设置 GUID。

action

  指定以下操作之一:

  • ActionSetActive
  • ActionCreate
  • ActionDefault

SDDL

  指定 SDDL 格式的有效安全描述符字符串。 运行 powercfg /getsecuritydescriptor 可以获取示例 SDDL 字符串。

示例:

powercfg /setsecuritydescriptor 381b4222-f694-41f0-9685-ff5bb260df2e O:BAG:SYD:P(A;CI;KRKW;;;BU)(A;CI;KA;;;BA)(A;CI;KA;;;SY)(A;CI;KA;;;CO)<br />

powercfg /setsecuritydescriptor ActionSetActive O:BAG:SYD:P(A;CI;KR;;;BU)(A;CI;KA;;;BA)(A;CI;KA;;;SY)(A;CI;KA;;;CO)

/hibernate 或 /H

启用或禁用休眠功能;同时设置 hiberfile 大小。

语法:

 powercfg /hibernate

 powercfg /hibernate [ on | off ]

 powercfg /hibernate [ /size percent_size]

 powercfg /hibernate [ /type reduced | full ]

参数:

  启用休眠功能。

 关

  禁用休眠功能。

 /size percent_size

  指定所需的 hiberfile 大小,以占总内存大小的百分比表示。 默认大小不能小于 50。 此参数也会导致启用休眠。

 /type reduced | full

  指定所需的 hiberfile 类型。 reduced(缩减)hiberfile 仅支持 hiberboot。

注意

具有自定义默认大小或 HiberFileSizePercent >= 40 的 hiberfile 被视为完整的 hiberfile。 在注册表中的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power 项中设置 HiberFileSizePercent。

若要将 hiberfile 类型更改为 reduced,OS 必须管理默认的 hiberfile 大小。 为此,请运行以下命令:

powercfg /hibernate /size 0

powercfg /hibernate /type reduced

示例:

powercfg /hibernate off<br /> powercfg /hibernate /size 100<br /> powercfg /hibernate /type reduced

/availablesleepstates 或 /A

报告系统上可用的睡眠状态。 尝试报告睡眠状态不可用的原因。

语法:

 powercfg /availablesleepstates

/devicequery

返回符合指定条件的设备。

语法:

 powercfg /devicequery query_flag

参数:

query_flag

  指定以下条件之一:

   wake_from_S1_supported 返回支持将系统从轻度睡眠状态唤醒的所有设备。

   wake_from_S2_supported 返回支持将系统从较深度睡眠状态唤醒的所有设备。

   wake_from_S3_supported 返回支持将系统从最深度睡眠状态唤醒的所有设备。

   wake_from_any 返回支持将系统从任意睡眠状态唤醒的所有设备

   S1_supported 列出支持轻度睡眠的设备。

   S2_supported 列出支持较深度睡眠的设备。

   S3_supported 列出支持最深度睡眠的设备。

   S4_supported 列出支持休眠的设备。

   wake_programmable 列出用户可配置的、可将系统从睡眠状态唤醒的设备。

   wake_armed 列出当前配置为将系统从任意睡眠状态唤醒的设备。

   all_devices 返回系统中的所有设备。

示例:

powercfg /devicequery wake_armed

/deviceenableawake

启用指定的设备将系统从睡眠状态唤醒的功能。

语法:

 powercfg /deviceenableawake device_name

参数:

device_name

  指定设备。 可以使用 powercfg /devicequery wake_programmable 检索此设备名称。

示例:

powercfg /deviceenableawake &quot;Microsoft USB IntelliMouse Optical&quot;

/devicedisablewake

禁用指定的设备将系统从睡眠状态唤醒的功能。

语法:

 powercfg /devicedisablewake device_name

参数:

device_name

  指定设备。 可以使用 powercfg /devicequery wake_armed 检索此设备名称。

示例:

powercfg /devicedisablewake &quot;Microsoft USB IntelliMouse Optical&quot;

/lastwake

报告有关哪个组件将系统从上次睡眠转换状态唤醒的信息。

语法:

 powercfg /lastwake

/waketimers

枚举活动的唤醒计时器。 如果已启用,则唤醒计时器计时结束时,会将系统从睡眠和休眠状态唤醒。

语法:

 powercfg /waketimers

/requests

枚举应用程序和驱动程序电源请求。 电源请求会阻止计算机自动关闭显示器或进入低功耗睡眠模式。

语法:

 powercfg /requests

/requestsoverride

为特定的进程、服务或驱动程序设置电源请求重写。 如果未指定任何参数,此命令将显示当前的电源请求重写列表。

语法:

 powercfg /requestsoverride [caller_type name request]

参数:

Caller_type

  指定以下调用方类型之一:processservicedriver。 可以运行 powercfg /requests 获取此类型。

name

  指定调用方名称。 这是运行 powercfg /requests 后返回的名称。

请求

  指定以下一个或多个电源请求类型:

  • 显示
  • 系统
  • Awaymode

示例:

powercfg /requestsoverride process wmplayer.exe display system

/energy

分析系统中常见的能效和电池寿命问题,并在当前路径中生成报告(一个 HTML 文件)。

语法:

 powercfg /energy [ /output file_name] [ /xml ] [ /duration seconds ]

 powercfg /energy /trace [ /d file_path] [ /xml ] [ /duration seconds]

 当计算机处于空闲状态且未打开程序或文档时,应使用 /energy 选项。

参数:

 /output file_name

  指定用于存储能源报告 HTML 或 XML 文件的路径和文件名。

 /xml

  将报告文件的格式设置为 XML。

 /duration seconds

  指定观察系统行为的秒数。 默认值为 60 秒。

 /trace

  记录系统行为,但不执行分析。 除非指定 /D 参数,否则将在当前路径中生成跟踪文件。

 /d file_path

  指定用于存储跟踪数据的目录。 只能与 /trace 参数结合使用。

示例:

powercfg /energy<br />
powercfg /energy /output &quot;longtrace.html&quot; /duration 120

/batteryreport

生成系统生存期内电池使用特征的报告。 运行 powercfg /batteryreport 会在当前路径中生成 HTML 报告文件。

语法:

 powercfg /batteryreport [ /output file_name ] [ /xml ]

 powercfg /batteryreport [ /duration days ]

参数:

 /output file_name

  指定用于存储电池报告 HTML 的路径和文件名。

 /output file_name /xml

  将电池报告文件的格式设置为 XML。

 /duration days

  指定要在报告中分析的天数。

示例:

powercfg /batteryreport /output &quot;batteryreport.html&quot;<br />
powercfg /batteryreport /duration 4

/sleepstudy

为系统在过去三天的新型待机质量生成诊断报告。 该报告是保存在当前路径中的文件。

语法:

 powercfg /sleepstudy [ /output file_name ] [ /xml ]

 powercfg /sleepstudy [ /duration days]

 powercfg /sleepstudy [ /transformxmL file_name.xml ] [ /output file_name.html ]

参数:

 /output file_name

  指定用于存储 Sleepstudy 报告 HTML 的路径和文件名。

 /output file_name /xml

  将 Sleepstudy 报告文件的格式设置为 XML。

 /duration days

  指定要在报告中分析的天数。

 /transformxml file_name.xml /output file_name.html

  将 Sleepstudy 报告从 XML 转换为 HTML。

示例:

powercfg /sleepstudy /output &quot;sleepstudy.html&quot;<br />
powercfg /sleepstudy /duration 7

/srumutil

在 XML 或 CSV 文件中枚举来自系统资源使用情况监视器 (SRUM) 的整个能源估算数据。

语法:

 powercfg /srumutil [ /output file_name ] [ /xml ] [ /csv ]

参数:

 /output file_name

  指定用于存储 SRUM 数据的路径和文件名。

 /output file_name /xml

  将文件格式设置为 XML。

 /output file_name /csv

  将文件格式设置为 CSV。

示例:

powercfg /batteryreport /output &quot;srumreport.xml&quot; /xml

/systemsleepdiagnostics

生成有关用户在过去三天未进入系统的时间间隔,以及系统是否进入睡眠状态的报告。 此选项将在当前路径中生成报告(一个 HTML 文件)。

此命令需要管理员特权,并且必须在权限提升的命令提示符下执行。

语法:

 powercfg /systemsleepdiagnostics [ /output file_name ] [ /xml ]

参数:

 /output file_name

  指定诊断报告的路径和文件名。

 /xml

  将报告另存为 XML 文件。

 /duration days

  指定要在报告中分析的天数。

 /transformxml file_name

  基于以前以 XML 格式创建的报告生成 HTML 格式的报告。

示例:

powercfg /systemsleepdiagnostics<br/>
powercfg /systemsleepdiagnostics /output &quot;system-sleep-diagnostics.html&quot;<br/>
powercfg /systemsleepdiagnostics /output &quot;system-sleep-diagnostics.xml&quot; /XML<br/>
powercfg /systemsleepdiagnostics /transformxml &quot;system-sleep-diagnostics.xml&quot;

/systempowerreport 或 /spr

为系统在过去三天的系统电源转换生成报告,包括联网待机电源效率。 此选项将在当前路径中生成报告(一个 HTML 文件)。

此命令需要管理员特权,并且必须在权限提升的命令提示符下执行。

语法:

 powercfg /getsecuritydescriptor GUID | action

参数:

 /output file_name

  指定诊断报告的路径和文件名。

 /xml

  将报告另存为 XML 文件。

 /duration days

  指定要在报告中分析的天数。

 /transformxml file_name

  基于以前以 XML 格式创建的报告生成 HTML 格式的报告。

示例:

powercfg /systempowerreport<br/>
powercfg /systempowerreport /output &quot;sleepstudy.html&quot;<br/>
powercfg /systempowerreport /output &quot;sleepstudy.xml&quot; /XML<br/>
powercfg /systempowerreport /transformxml &quot;sleepstudy.xml&quot;

叠加方案和 PPM 配置文件支持

叠加电源方案和 PPM 配置文件现可通过 powercfg.exe 进行自定义。 必须注意的是,叠加方案现仅限用于自定义会影响性能的设置,而不是考虑到节能。 这当前与 PPM 和图形电源设置子组(在 powercfg 中使用别名 SUB_PROCESSOR 和 SUB_GRAPHICS)下的设置相关。 尝试写入叠加方案下的其他子组将导致出现错误消息。

从叠加方案中读取

以前用于读取电源方案的 powercfg 命令现既支持叠加方案,也支持读取和写入。

语法:

 powercfg /q overlay_scheme_alias subgroup_alias setting_alias

/q 标志后的参数都是可选参数。 如果未指定设置别名,则会枚举指定的叠加方案和子组下的所有设置。 如果未指定子组,则会枚举指定的叠加方案下所有子组的所有设置。 如果未指定叠加方案,则假定它是当前活动的叠加方案(若处于活动状态)或当前的电源方案(若没有叠加方案处于活动状态)。

写入叠加方案

setacvalueindex 和 setdcvalueindex 命令现在也支持叠加方案。

语法:

 powercfg /setacvalueindex overlay_scheme_alias subgroup_alias setting_alias value

 powercfg /setdcvalueindex overlay_scheme_alias subgroup_alias setting_alias value

从 PPM 配置文件中读取

所用命令与叠加方案和电源方案的类似,只不过它们使用 /qp 标志。

语法:

 powercfg /queryprofile overlay_or_power_scheme_alias profile_alias setting_alias

 powercfg /qp overlay_or_power_scheme_alias profile_alias setting_alias

运行上述 powercfg /aliasesh 命令可查看 PPM 配置文件别名。 提供了对缺失参数的支持,而且行为与缺少参数和使用 /q 标志的情况类似。

写入 PPM 配置文件

若要写入 PPM 配置文件,可使用 /setacprofileindex 和 /setdcprofileindex 命令。

语法:

 powercfg /setacprofileindex overlay_or_scheme_alias profile_alias setting_alias value

 powercfg /setdcprofileindex overlay_or_scheme_alias profile_alias setting_alias value

枚举非空的 PPM 配置文件

若要枚举至少已显式设有一个电源设置值的 PPM 配置文件:

语法:

 powercfg /listprofiles

 powercfg /lp

预配 XML 生成支持

Powercfg 现支持自动生成预配式 XML 文件,该文件可用作 Windows 配置设计器的输入,以便生成一个包含正在测试的设备中的自定义设置的预配包 (.ppkg)。 此文件包含设备上具有“RUNTIME_OVERRIDE”高度值的所有设置。

语法:

 powercfg /pxml /output output_file_path

 powercfg /pxml /output output_file_path /version version_number /name package_name /id GUID /owner OwnerType_value

必需参数:

 /output_file_path:指定所生成的 XML 的位置和名称。

可选参数:

 /version:(可选)指定所生成的 XML 中的“版本”字段的值。 默认:1.0

 /name:(可选)指定所生成的 XML 中的“名称”字段的值。 默认:CustomOEM.Power.Settings.Control

 /id:(可选)指定在所生成的 XML 中的“ID”字段中使用的 GUID 字符串。 默认:生成新 GUID

 /owner:(可选)指定所生成的 XML 中的“OwnerType”字段的值。 默认:OEM