Board logo

标题: [原创] 电源管理命令 Powercfg 介绍 [打印本页]

作者: cjiabing    时间: 2011-6-3 15:01     标题: 电源管理命令 Powercfg 介绍

本帖最后由 cjiabing 于 2011-6-3 15:20 编辑

该命令很少人用,不过也见有用来控制关闭显示器、休眠等的。下面对该命令进行介绍和注释。
命令格式:
  1. POWERCFG [/LIST | /QUERY [name] | /CREATE name | /DELETE name |
  2. /SETACTIVE name | /CHANGE name settings |
  3. /HIBERNATE {ON|OFF} | /EXPORT name [/FILE filename] |
  4. /IMPORT name [/FILE filename] | /GLOBALPOWERFLAG {ON|OFF} /OPTION flag |
  5. /BATTERYALARM {LOW|CRITICAL} [settings] |
  6. /DEVICEQUERY queryflags | /DEVICEENABLEWAKE devicename |
  7. /DEVICEDISABLEWAKE devicename | /?]
复制代码
描述:
这个命令行工具允许管理员控制系统上的电源设置。

参数列表:
  1. /LIST, /L 列出现有电源方案的名称。
  2. /QUERY, /Q 显示指定的电源方案的配置。如果没有指定名称,将显示当前使用中的电源方案的配置。
  3. /CREATE, /C 用指定的名称创建电源方案。新方案是用当前使用中方案的属性创建的。
  4. /DELETE, /D 删除具有指定名称的电源方案。
  5. /SETACTIVE, /S 将具有指定名称的电源方案设为使用中。
  6. /CHANGE, /X 更改指定电源方案的设置。其他开关指定以下改动:
  7. /monitor-timeout-ac <分钟>    监视器
  8. /monitor-timeout-dc <分钟>
  9. /disk-timeout-ac <分钟>    硬盘
  10. /disk-timeout-dc <分钟>
  11. /standby-timeout-ac <分钟>    待机
  12. /standby-timeout-dc <分钟>   
  13. /hibernate-timeout-ac <分钟>    休眠
  14. /hibernate-timeout-dc <分钟>
  15. /processor-throttle-ac <throttle>    处理器
  16. /processor-throttle-dc <throttle>
  17. 系统使用 AC 电源时,使用 AC 设置。系统使用电池电源时,使用 DC 设置。将超时设为零会禁用相应的超时功能。
  18. 支持的控制器设置为 NONE、CONSTANT、DEGRADE 和 ADAPTIVE。
复制代码
继续
  1. /EXPORT, /E 将具有指定名称的电源方案导出到一个文件。如果没有指定
  2. 文件名,默认值则为 SCHEME.POW。另一个参数受支持:/FILE <filename>
  3. /IMPORT, /I 从具有指定名称的文件导入电源方案。如果没有指定文件名,
  4. 默认值则为 SCHEME.POW。如果具有那个名称的方案已存在,
  5. 新的会将其替换。另一个受支持的参数是:/FILE <filename>
  6. /HIBERNATE, /H {ON|OFF} 启用/禁用休眠功能。部分系统不支持休眠超时。
  7. /NUMERICAL, /N 允许用数字标识符指定使用的电源方案。使用这个开关时,在命令行上电源方案名的地方,指定其数字标识符。
  8. 这个开关可以跟 /QUERY、/DELETE、/SETACTIVE、/CHANGE、/EXPORT 和 /IMPORT 命令一起使用。
  9. /GLOBALPOWERFLAG, /G {ON|OFF} 启用/关闭一个全局电源标志。
  10. 有效标志 (在 "/OPTION " 后使用)是:
  11. BATTERYICON: 在系统任务栏启用/关闭电池指示器图标。
  12. MULTIBATTERY: 在系统电源表启用/关闭多电池显示。
  13. RESUMEPASSWORD: 恢复系统时提示输入密码。
  14. WAKEONRING: 启用/关闭响铃唤醒支持。
  15. VIDEODIM: 在电池电量启用/关闭使视频显示变暗的支持。
  16. /AVAILABLESLEEPSTATES, /A 报告系统上可用的休眠状态。尝试报告休眠状态不可用的原因。
  17. /BATTERYALARM, /B {LOW|CRITICAL} 配置电池不足警报。
  18. 可以指定下列开关:
  19. /activate <on|off>启用或禁用警告。
  20. /level <percentage (0 - 100)>电压达到此百分比时会响警告。
  21. /text <on|off>启用或关闭通知。
  22. /sound <on|off>启用或关闭可听到的通知。
  23. /action <none|shutdown|hibernate|standby>指定响警铃时采取的操作。并不是所有的操作总是可用。
  24. /forceaction <on|off>即使程序停止反应也强行待机或关机。
  25. /program <on|off>指定要运行的程序。schtasks.exe /change可以用于配置程序。
复制代码
唤醒的
  1. /DEVICEQUERY <queryflags> 将返回满足 <queryflags> 中
  2. 指定条件的设备的列表。<queryflags> 的值
  3. 可能是:
  4. wake_from_S1_supported - 返回支持将系统从轻睡眠状态唤醒的全部设备。
  5. wake_from_S2_supported - 返回支持将系统从较深睡眠状态唤醒的全部设备。
  6. wake_from_S3_supported - 返回支持将系统从最深睡眠状态唤醒的全部设备。
  7. wake_from_any - 返回支持将系统从任何睡眠状态唤醒的全部设备。
  8. S1_supported - 列表支持轻睡眠状态的设备。
  9. S2_supported - 列表支持较深睡眠状态的设备。
  10. S3_supported - 列表支持最深眠状态的设备。
  11. S4_supported - 列表支持系统休眠的设备。
  12. wake_programmable - 列表用户可自定义从睡眠状态唤醒系统的设备。
  13. wake_armed - 列表当前配置为从任何睡眠状态唤醒系统的设备。
  14. all_devices - 返回系统中当前所有设备。
  15. all_devices_verbose - 返回设备的详细列表。
  16. /DEVICEENABLEWAKE <devicename> 启用设备将系统从睡眠状态唤醒。<devicename> 是使用 '/DEVICEQUERY wake_programmable'参数检索的设备。
  17. /DEVICEDISABLEWAKE <devicename> 禁用设备将系统从睡眠状态唤醒。<devicename> 是使用 '/DEVICEQUERY wake_programmable'参数检索的设备。
  18. /HELP, /? 显示命令行参数的信息。
复制代码
应用示例
  1. 示例:
  2. POWERCFG /LIST
  3. POWERCFG /QUERY scheme
  4. POWERCFG /QUERY
  5. POWERCFG /CREATE scheme
  6. POWERCFG /DELETE scheme
  7. POWERCFG /SETACTIVE scheme
  8. POWERCFG /CHANGE scheme /monitor-timeout-dc 15
  9. POWERCFG /CHANGE scheme /monitor-timeout-dc 0
  10. POWERCFG /HIBERNATE on
  11. POWERCFG /EXPORT scheme /file file
  12. POWERCFG /QUERY number /NUMERICAL
  13. POWERCFG /GLOBALPOWERFLAG on /OPTION BATTERYICON
  14. POWERCFG /AVAILABLESLEEPSTATES
  15. POWERCFG /BATTERYALARM low
  16. POWERCFG /BATTERYALARM critical /ACTIVATE on /LEVEL 6 /ACTION hibernate
  17. POWERCFG /DEVICEQUERY wake_armed
  18. POWERCFG /DEVICEENABLEWAKE "Microsoft USB IntelliMouse Explorer"
复制代码
页面变形了,没办法,拷到txt上看吧!~
案例:
  1. @echo off
  2. echo 电源节能管理
  3. echo 转载,未知是否可行!~
  4. pause
  5. PowerCfg /change 家用/办公桌 /monitor-timeout-ac 5
  6. PowerCfg /change 家用/办公桌 /monitor-timeout-dc 5
  7. PowerCfg /change 便携/袖珍式 /monitor-timeout-ac 5
  8. PowerCfg /change 便携/袖珍式 /monitor-timeout-dc 5
  9. PowerCfg /change 家用/办公桌 /disk-timeout-ac 5
  10. PowerCfg /change 家用/办公桌 /disk-timeout-dc 5
  11. PowerCfg /change 便携/袖珍式 /disk-timeout-ac 5
  12. PowerCfg /change 便携/袖珍式 /disk-timeout-dc 5
  13. PowerCfg /change 家用/办公桌 /standby-timeout-ac 10
  14. PowerCfg /change 家用/办公桌 /standby-timeout-dc 10
  15. PowerCfg /change 便携/袖珍式 /standby-timeout-ac 10
  16. PowerCfg /change 便携/袖珍式 /standby-timeout-dc 10
  17. PowerCfg /change 家用/办公桌 /hibernate-timeout-ac 15
  18. PowerCfg /change 家用/办公桌 /hibernate-timeout-dc 15
  19. PowerCfg /change 便携/袖珍式 /hibernate-timeout-ac 15
  20. PowerCfg /change 便携/袖珍式 /hibernate-timeout-dc 15
  21. PowerCfg /change 家用/办公桌 /processor-throttle-ac 15
  22. PowerCfg /change 家用/办公桌 /processor-throttle-dc 15
  23. PowerCfg /change 便携/袖珍式 /processor-throttle-ac 15
  24. PowerCfg /change 便携/袖珍式 /processor-throttle-dc 15
  25. PowerCfg /change 一直开着 /monitor-timeout-ac 5
  26. PowerCfg /change 一直开着 /monitor-timeout-dc 5
  27. PowerCfg /change 一直开着 /monitor-timeout-ac 5
  28. PowerCfg /change 一直开着 /monitor-timeout-dc 5
  29. PowerCfg /change 一直开着 /disk-timeout-ac 5
  30. PowerCfg /change 一直开着 /disk-timeout-dc 5
  31. PowerCfg /change 一直开着 /standby-timeout-ac 10
  32. PowerCfg /change 一直开着 /standby-timeout-dc 10
  33. PowerCfg /change 一直开着 /hibernate-timeout-ac 15
  34. PowerCfg /change 一直开着 /hibernate-timeout-dc 15
  35. PowerCfg /change 一直开着 /processor-throttle-ac 15
  36. PowerCfg /change 一直开着 /processor-throttle-dc 15
复制代码
鼠标、键盘静止一分钟不懂后,自动关闭显示器。
  1. @echo off
  2. :: by SKB
  3. PowerCfg /change 家用/办公桌 /monitor-timeout-ac 1
  4. pause
  5. exit
  6. rem 后面的参数最小是1,也就是1分钟,如果你1分钟不动电脑,你就会看到效果了。
复制代码
试验(未知结果):
  1. @echo off
  2. PowerCfg /change 家用/办公桌 /hibernate-timeout-ac 1
  3. ::一分钟后自动进入休眠状态
  4. ::powercfg -h on
  5. ::启用休眠功能:系统自动将内存文件拷贝到硬盘,并自动关机,下次开机时自动恢复打开的程序。
  6. powercfg /globalpowerflag on /option:wakeonring
  7. ::打开响铃唤醒支持。
  8. POWERCFG /DEVICEQUERY wake_armed
  9. ::列出可以用来唤醒计算机的设备列表POWERCFG /DEVICEQUERY wake_from_any
  10. ::POWERCFG /DEVICEENABLEWAKE "Microsoft USB IntelliMouse Explorer"
  11. ::鼠标唤醒重启?
  12. pause
复制代码

作者: CrLf    时间: 2011-6-3 15:18

这个好,弥补了计划任务的不足
作者: cjiabing    时间: 2011-6-3 15:19

默认情况下,没有管理员权限的用户无法更改电源使用方案设置。电源使用方案程序可同时更改每用户和每计算机设置。要更改每计算机设置,您必须拥有管理员权限。如果未能设置每计算机设置,则无法提交每用户设置。

因此,如果您是一位不具有管理员权限的用户,则当您尝试使用 Windows XP 中的电源使用方案程序更改电源使用方案设置时,您将收到以下错误消息:
能源策略管理器无法设定活动策略。访问被拒绝。
回到顶端
通过创建组策略对象更改电源使用方案设置
要通过创建组策略对象来更改电源使用方案设置,请按照下列步骤操作:
在域控制器上,将 Powercfg.exe 文件复制到 NETLOGON 共享中。
在基于 Windows 2003 的计算机上,Powercfg.exe 文件默认位于 %systemroot%\System32 文件夹中。
在基于 Windows Server 2003 的计算机上,NETLOGON 共享文件夹默认位于 %systemroot%\Sysvol\Sysvol\Domain_DNS_name\Scripts 中。
单击“开始”,单击“运行”,键入 dsa.msc,然后单击“确定”。这会启动“Active Directory 用户和计算机”管理单元。
在“Active Directory 用户和计算机”对话框中,右键单击域容器,然后单击“属性”。
在“组策略”选项卡上,单击“新建”。
键入 Power Configuration Policy,然后按 Enter。
单击“编辑”。
在“用户配置”下,展开“Windows 设置”,然后单击“脚本”。
在右窗格中,双击“登录”,然后单击“显示文件”。随即将显示用户的“\Scripts\Logon”文件夹。
在用户的“Scripts\Logon”文件夹中,新建一个用于在用户计算机上对电源使用方案设置进行设置的批处理文件。为此,请按照下列步骤操作:
依次单击“文件”、“新建”和“文本文档”。
键入 PowerConfig.bat,然后按 Enter。
在“重命名”对话框中,单击“是”。
右键单击 PowerConfig.bat,然后单击“编辑”。
如果出现“打开文件 - 安全警告”对话框,请单击“运行”。
在批处理文件中键入以下命令:
@echo off
net use x: \\domain_DNS_name\netlogon
x:
powercfg.exe /change "always on" /monitor-timeout-ac 20
powercfg.exe /SETACTIVE "always on"
c:
net use x: /delete


注意:批处理文件中使用的 domain_DNS_name 术语是域控制器的 DNS 名称的占位符。
单击“文件”,再单击“退出”,然后单击“是”。
关闭“Scripts\Logon”文件夹。
在“‘登录’属性”对话框中,单击“添加”,单击“浏览”,再双击“PowerConfig.bat”,然后单击“确定”。
在“计算机配置”下,依次展开“Windows 设置”、“安全设置”和“本地策略”。
单击“用户权限分配”,然后双击“关闭系统”。
在“‘关闭系统’属性”对话框中,单击“添加用户或组”,在“用户和组名”框中键入用户的域名和帐户名称,然后单击“确定”两次。
在“计算机配置”下,依次展开“Windows 设置”和“安全设置”,然后单击“注册表”。
在“组策略对象编辑器”对话框中,单击“操作”,然后单击“添加项”。
在“已选项”框中,键入以下条目,然后单击“确定”:
MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg
单击“添加”,在“输入对象名称来选择”框中键入用户的帐户名称,然后单击“确定”两次。
在“添加对象”对话框中,单击“配置这个项,然后”,再单击“将继承权限传播到所有子项”,然后单击“确定”。
在“组策略对象编辑器”中,单击“操作”,然后单击“添加项”。
在“已选项”框中,键入以下条目,然后单击“确定”:
USERS\.DEFAULT\Control Panel\PowerCfg
单击“添加”,在“输入对象名称来选择”框中键入用户的帐户名称,然后单击“确定”两次。
在“添加对象”对话框中,单击“配置这个项,然后”,再单击“将继承权限传播到所有子项”,然后单击“确定”。
在“组策略对象编辑器”对话框中,单击“文件”,然后单击“退出”。
在域容器的“属性”对话框中,单击“确定”。
在“Active Directory 用户和计算机”对话框中,单击“文件”,然后单击“退出”。
注意:用户必须对下列注册表子项拥有写权限:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg
HKEY_ USERS\.DEFAULT\Control Panel\PowerCfg


注意:用户首次登录其计算机时,该策略将失败,原因是其他权限尚未生效。当用户第二次登录计算机时,将应用该策略,从而使用户具有更改电源使用方案设置的权限。
回到顶端
配置用户对电源设置的访问
要拒绝允许更改由登录批处理文件修改的设置的权限,可配置用户对 PowerCfg.cpl 文件的访问。您可以拒绝用户打开“控制面板”中的“电源选项”扩展来查看或更改电源设置的权限。为此,请按照下列步骤操作:
单击“开始”,单击“运行”,键入 dsa.msc,然后单击“确定”。这会启动“Active Directory 用户和计算机”管理单元。
在“Active Directory 用户和计算机”对话框中,右键单击域容器,然后单击“属性”。
在“计算机配置”下,展开“Windows 设置”,然后单击“文件系统”。
在“组策略对象编辑器”对话框中,单击“操作”,然后单击“添加文件”。
在“添加文件或文件夹”对话框中的“文件夹”框中,键入 %SystemRoot%\system32\powercfg.cpl,然后单击“确定”。
单击“添加”,在“输入对象名称来选择”框中键入用户的帐户名称,然后单击“确定”。
在“<用户名> 的权限”访问权限组中,单击以选中“完全控制”权限的“拒绝”复选框,然后单击“确定”。
在“安全”对话框中,单击“是”。
在“添加对象”对话框中,单击“配置这个项,然后”,再单击“将继承权限传播到所有子项”,然后单击“确定”。
回到顶端
作者: pdp320921    时间: 2012-5-31 12:28

回复 3# cjiabing

在win7上改了,不会即时生效~重启也不行
作者: cjiabing    时间: 2012-5-31 13:00

回复 4# pdp320921


    需要进行更多的测试!~我也只试过一两次而已,也没有得到结果!~
    希望得到更多的测试~!
作者: pdp320921    时间: 2012-5-31 14:54

回复 5# cjiabing


   没懂什么意思




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2