PowerShell是管理Windows休眠策略最灵活的方式,可启用/禁用休眠功能(powercfg /hibernate on/off)、设置交流/电池下的自动休眠时间(如powercfg /change hibernate-timeout-ac 45)、验证配置(powercfg /query)并支持批量部署。
powershell 是管理 windows 休眠策略最灵活的方式之一,既能启用/禁用休眠功能,也能精细控制不同供电状态下的自动休眠时间,还支持批量部署和脚本自动化。
启用或禁用休眠功能
休眠功能依赖 hiberfil.sys 文件,必须先启用才能设置自动休眠。禁用则会删除该文件并释放约等于内存大小的空间(如 16GB 内存可释放约 16GB 磁盘空间)。
- 以管理员身份运行 PowerShell
- 启用休眠:
powercfg /hibernate on - 禁用休眠:
powercfg /hibernate off - 执行后无需重启,系统立即更新电源选项——“休眠”按钮会在开始菜单和电源设置中同步出现或消失
设置自动休眠等待时间(分钟级)
PowerShell 支持直接修改当前电源计划的休眠超时值,单位为分钟,操作比图形界面更高效,尤其适合远程或批量配置。
- 设接通电源时 45 分钟后休眠:
powercfg /change hibernate-timeout-ac 45 - 设使用电池时 20 分钟后休眠:
powercfg /change hibernate-timeout-dc 20 - 设为“从不”休眠(即禁用自动休眠):
powercfg /change hibernate-timeout-ac 0和powercfg /change hibernate-timeout-dc 0 - 命令生效后,可在“控制面板 > 电源选项 > 更改高级电源设置”中验证是否已同步更新
查看与验证当前休眠配置
避免误操作或策略未生效,建议执行检查命令确认状态。
- 列出所有电源计划及当前活动方案的 GUID:
powercfg /list - 查看当前方案的休眠设置详情:
powercfg /query | findstr "Hibernate" - 检查 hiberfil.sys 是否存在(验证休眠是否真正关闭):
Test-Path C:\hiberfil.sys—— 返回False表示已禁用
进阶:跨电源方案统一配置(适用于多计划场景)
若系统中存在多个自定义电源计划(如“高性能”“节能”),可指定 GUID 单独配置,避免影响其他方案。
- 获取目标方案 GUID:
$guid = (powercfg /list | Select-String "★").Line.Split()[3] - 为该方案设置交流电休眠时间(秒为单位):
powercfg /setacvalueindex $guid 238C9FA8-0AAD-41ED-83F4-97BE242C8F20 29F6C1DB-86DA-48C5-9FDB-F2B67B1F44DA 3600(1 小时) - 使更改生效:
powercfg /setactive $guid











