创建新的电源计划
Create new power plan
我找到了关于使用 PowerShell 更改活动电源计划的各种参考资料,并且我找到了手动创建新电源计划的说明,但我似乎找不到任何关于使用 Powershell 自动执行创建一个新的计划。这是可以做到的,我需要继续寻找吗?还是我没找到是因为做不到?
并且,稍微介绍一下,我正在为为期三天的会议自动设置实验室机器。这些机器来自不同的供应商,我不知道也无法控制他们的 Windows 图像将提供什么设置。通常笔记本电脑被设置为在 10-15 分钟后关闭屏幕,这对于实验室来说是疯狂的,在那里你经常会不仅仅是听指令,然后当你去尝试一些东西时你需要密码。我的目标是让一个脚本使用我想要的设置创建一个新的电源计划,然后让第二个脚本使该计划对用户有效。我还需要在 PSv2 中完成这项工作,因为 99% 的时间我们都会得到 Windows 7,而且我无法要求 PS 更新。最终我们也会自动安装 OS,并消除更多变量,但现在我们正在使用我们获得的 OS 图像。
显然您需要在脚本中包装 powercfg
调用以生成电源计划修改。您可以调用 powercfg -import <file> <GUID>
的一件好事,您可以通过在测试 PC 上设置正确的参数来准备文件,并使用给定的计划调用 powercfg -export
。因此,您只需创建一个包含电源计划导出结果的 .bat
文件,并在启动时调用它来设置电源计划。您还可以通过调用 powercfg -x
来修改当前的电源计划。有关详细信息,请参阅 powercfg -?
。
好吧,我不得不查看几个不同的地方来准确解决这个问题,我想出了下面的这个小脚本来完成这个,但使用批处理文件代替
@ECHO OFF
SET "src_profile=High performance"
SET "new_profile=DAW Optimised"
:CREATE_PLAN
REM Create new power plan based on the existing one specified, rename it and specify settings
echo Setting up new power plan
for /f "tokens=4" %%f in ('powercfg /list ^| findstr /C:"%src_profile%"') do set GUID=%%f
for /f "tokens=4" %%I in ('powercfg -duplicatescheme %GUID%') do set dest_GUID=%%I
powercfg /changename %dest_GUID% "%new_profile%"
powercfg /setactive %dest_GUID%
我确定会议早就结束了,但希望这对处于类似情况的人有所帮助
我找到了关于使用 PowerShell 更改活动电源计划的各种参考资料,并且我找到了手动创建新电源计划的说明,但我似乎找不到任何关于使用 Powershell 自动执行创建一个新的计划。这是可以做到的,我需要继续寻找吗?还是我没找到是因为做不到?
并且,稍微介绍一下,我正在为为期三天的会议自动设置实验室机器。这些机器来自不同的供应商,我不知道也无法控制他们的 Windows 图像将提供什么设置。通常笔记本电脑被设置为在 10-15 分钟后关闭屏幕,这对于实验室来说是疯狂的,在那里你经常会不仅仅是听指令,然后当你去尝试一些东西时你需要密码。我的目标是让一个脚本使用我想要的设置创建一个新的电源计划,然后让第二个脚本使该计划对用户有效。我还需要在 PSv2 中完成这项工作,因为 99% 的时间我们都会得到 Windows 7,而且我无法要求 PS 更新。最终我们也会自动安装 OS,并消除更多变量,但现在我们正在使用我们获得的 OS 图像。
显然您需要在脚本中包装 powercfg
调用以生成电源计划修改。您可以调用 powercfg -import <file> <GUID>
的一件好事,您可以通过在测试 PC 上设置正确的参数来准备文件,并使用给定的计划调用 powercfg -export
。因此,您只需创建一个包含电源计划导出结果的 .bat
文件,并在启动时调用它来设置电源计划。您还可以通过调用 powercfg -x
来修改当前的电源计划。有关详细信息,请参阅 powercfg -?
。
好吧,我不得不查看几个不同的地方来准确解决这个问题,我想出了下面的这个小脚本来完成这个,但使用批处理文件代替
@ECHO OFF
SET "src_profile=High performance"
SET "new_profile=DAW Optimised"
:CREATE_PLAN
REM Create new power plan based on the existing one specified, rename it and specify settings
echo Setting up new power plan
for /f "tokens=4" %%f in ('powercfg /list ^| findstr /C:"%src_profile%"') do set GUID=%%f
for /f "tokens=4" %%I in ('powercfg -duplicatescheme %GUID%') do set dest_GUID=%%I
powercfg /changename %dest_GUID% "%new_profile%"
powercfg /setactive %dest_GUID%
我确定会议早就结束了,但希望这对处于类似情况的人有所帮助