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_GUID 或 sub_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
修改当前电源方案中的设置值。
语法:
/更改 设置 值
参数:
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_GUID setting_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_GUID sub_GUID setting_GUID setting_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_GUID sub_GUID setting_GUID setting_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 "Microsoft USB IntelliMouse Optical"
/devicedisablewake
禁用指定的设备将系统从睡眠状态唤醒的功能。
语法:
powercfg /devicedisablewake device_name
参数:
device_name
指定设备。 可以使用 powercfg /devicequery wake_armed 检索此设备名称。
示例:
powercfg /devicedisablewake "Microsoft USB IntelliMouse Optical"
/lastwake
报告有关哪个组件将系统从上次睡眠转换状态唤醒的信息。
语法:
powercfg /lastwake
/waketimers
枚举活动的唤醒计时器。 如果已启用,则唤醒计时器计时结束时,会将系统从睡眠和休眠状态唤醒。
语法:
powercfg /waketimers
/requests
枚举应用程序和驱动程序电源请求。 电源请求会阻止计算机自动关闭显示器或进入低功耗睡眠模式。
语法:
powercfg /requests
/requestsoverride
为特定的进程、服务或驱动程序设置电源请求重写。 如果未指定任何参数,此命令将显示当前的电源请求重写列表。
语法:
powercfg /requestsoverride [caller_type name request]
参数:
Caller_type
指定以下调用方类型之一:process、servicedriver。 可以运行 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 "longtrace.html" /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 "batteryreport.html"<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 "sleepstudy.html"<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 "srumreport.xml" /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 "system-sleep-diagnostics.html"<br/>
powercfg /systemsleepdiagnostics /output "system-sleep-diagnostics.xml" /XML<br/>
powercfg /systemsleepdiagnostics /transformxml "system-sleep-diagnostics.xml"
/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 "sleepstudy.html"<br/>
powercfg /systempowerreport /output "sleepstudy.xml" /XML<br/>
powercfg /systempowerreport /transformxml "sleepstudy.xml"
叠加方案和 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