web-dev-qa-db-ja.com

Powershellを使用した電源オプションの変更

スクリプトに関しては、私は初心者です。上記のスクリプトを実行しています。このコード行を取得して変更する必要があると思います。

{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

私が変更した唯一のコード行は上記のものでした。
はい「UltimatePerformance」電源方式がインストールされています。
他に何かする必要がありますか?
電源オプションを「UltimatePerformance」に変更しようとしています。このオプションは、前のコマンドですでにインストールされています。私が実行していたスクリプト:

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
James

PowerSchemaをその名前ではなく変更する方法を理解しましたGUID次のコードは、Power Schemaを「UltimatePerformance」に変更しますが、一般的な名前のいずれかに変更するために使用できます

#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
1
James