0

我正在处理一个 Powershell 脚本,以自动化我们的 Windows 10 迁移部署方法的一些过程。此脚本的一部分使用 powercfg 激活高性能电源计划选项。它在我们使用的三个正常计划(平衡/HP/省电模式)已经存在/创建的桌面上运行良好,但我正在测试它的笔记本电脑仅在“选择电源计划”菜单中存在平衡。

通常我会通过 GUI 单击“创建电源计划”,它会询问我是否要基于现有计划。在这里,我可以单击高性能计划模板,然后将其命名为高性能并以这种方式使用。我正在寻找一种在 Powershell 脚本中执行此操作的方法,以便我可以在笔记本电脑和台式机上运行此脚本。

这是我在已经创建了 HP 电源计划的机器上以及在“选择...”菜单(由SQL Soldier提供)中将电源计划更改为高性能的内容:

Try {
    $HighPerf = powercfg -l | %{if($_.contains("High performance")) {$_.split()[3]}}

    $CurrPlan = $(powercfg -getactivescheme).split()[3]

    if ($CurrPlan -ne $HighPerf) {powercfg -setactive $HighPerf}
        Write-Host "Power plan has been configured to High performance."
} 
Catch {
    Write-Warning -Message "Unable to set power plan to high performance"
}

我有一个名为 $Laptop 的变量,当 -eq 为“y”或“是”时,我在脚本中执行其他操作,所以我想将此代码包装在基于 $Laptop 的 if 语句中,该语句将创建电源计划如果机器是笔记本电脑则激活它,如果不是,则正常执行上述代码。我意识到这段代码并不完全是铁定的,但我们只是选择了几个模型,所以我不想让它万无一失。

如果我能澄清任何事情,请告诉我。

4

0 回答 0