Я новичок, когда дело доходит до сценариев. Я запускаю сценарий выше. Я считаю, что я должен взять и изменить эту строку кода:

{param ($Plan = $(throw ‘Set-PowerPlan Ultimate Performance’ ))}

но я не уверен, так как я получаю следующую ошибку при запуске сценария в PS:

At C:\temp\Set-PowerPlan.ps1:35 char:67
+ ... RegEx = “(?<planguid>[A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0- ...
+ ~
Array index expression is missing or not valid.
At C:\temp\Set-PowerPlan.ps1:41 char:36
+ $result = powercfg -s $matches[“PlanGUIDâ€] 2>&1
+ ~
Array index expression is missing or not valid.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : MissingArrayIndexExpression

Единственная строка кода, которую я изменил, была выше.
Да Схема питания "Ultimate Performance" установлена.
Мне нужно сделать что-нибудь еще?
Я пытаюсь изменить параметры электропитания на "Максимальная производительность", эта опция уже установлена предыдущей командой. Скрипт у меня был запущен:

param ($Plan = $(throw ‘Set-PowerPlan Ultimate Performance’ ))

Set-StrictMode -Version Latest

# Get the list of plans on the current machine.
$planList = powercfg.exe -l

# The regular expression to pull out the GUID for the specified plan.
$planRegEx = “(?<PlanGUID>[A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12})” + (“(?:s+({0}))” -f $Plan)

# If the plan appears in the list…
if ( ($planList | Out-String) -match $planRegEx )
{
    # Pull out the matching GUID and capture both stdout and stderr.
    $result = powercfg -s $matches[“PlanGUID”] 2>&1

    # If there were any problems, show the error.
    if ( $LASTEXITCODE -ne 0)
    {
        $result
    }
}
else
{
    Write-Error (“The requested power scheme ‘{0}’ does not exist on this machine” -f $Plan)
}

1 ответ1

0

Я выяснил, как изменить схему электропитания по ее имени, а не по GUID. Следующий код изменит схему электропитания на "Максимальная производительность", но ее можно использовать для изменения любого из распространенных имен.

#Change to Ultimate Performance Power Schema

Get-CimInstance -N root\cimv2\power -Class win32_PowerPlan | select ElementName, 
IsActive | ft -a

$p = gwmi -NS root\cimv2\power -Class win32_PowerPlan -Filter "ElementName ='Ultimate 
Performance'"

$p.Activate()


Get-CimInstance -N root\cimv2\power -Class win32_PowerPlan | select ElementName, 
IsActive | ft -a

pause

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .