Changing Power Options with Powershell












0














I am a newbie when it comes to scripting. I am running the script above. I believe I have to take and change this line of code:



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


but I am not sure since I am getting the following error when I run the script in PS:



At C:tempSet-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:tempSet-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


The only line of code I changed was the one above.

Yes "Ultimate Performance" power scheme is installed.

Do I need to do anything else?

I am trying to change the Power Options to "Ultimate Performance" this option is already install by a previous command.
Script I was running:



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)
}









share|improve this question
























  • What script are you running exactly?
    – Ramhound
    Dec 14 '18 at 17:09










  • Your initial assertion is wrong -- you do not change anything in the param {} block. Re-download the script and run Set-PowerPlan -Plan 'Ultimate Performance'
    – thepip3r
    Dec 14 '18 at 17:34










  • I kind of newbie to powershell scripting and i not quite understanding what you are telling me to do?
    – James
    Dec 14 '18 at 18:34










  • What did the working version of the script look like? Why wouldn't you just use powercfg.exe to do this? The regular expression is the problem.
    – Ramhound
    Dec 14 '18 at 20:05












  • According to the powercfg.exe it uses the GUID to change power schemas in powershell not the name. I need to do this to multiple computer which makes the GUID different on every machine. If i do the script from thepip3r i get this response from Power Shell Set-PowerPlan : The term 'Set-PowerPlan' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + Set-PowerPlan -Plan 'Ultimate Performance' + ~~~~~~~~~~~~~
    – James
    Dec 14 '18 at 20:36


















0














I am a newbie when it comes to scripting. I am running the script above. I believe I have to take and change this line of code:



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


but I am not sure since I am getting the following error when I run the script in PS:



At C:tempSet-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:tempSet-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


The only line of code I changed was the one above.

Yes "Ultimate Performance" power scheme is installed.

Do I need to do anything else?

I am trying to change the Power Options to "Ultimate Performance" this option is already install by a previous command.
Script I was running:



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)
}









share|improve this question
























  • What script are you running exactly?
    – Ramhound
    Dec 14 '18 at 17:09










  • Your initial assertion is wrong -- you do not change anything in the param {} block. Re-download the script and run Set-PowerPlan -Plan 'Ultimate Performance'
    – thepip3r
    Dec 14 '18 at 17:34










  • I kind of newbie to powershell scripting and i not quite understanding what you are telling me to do?
    – James
    Dec 14 '18 at 18:34










  • What did the working version of the script look like? Why wouldn't you just use powercfg.exe to do this? The regular expression is the problem.
    – Ramhound
    Dec 14 '18 at 20:05












  • According to the powercfg.exe it uses the GUID to change power schemas in powershell not the name. I need to do this to multiple computer which makes the GUID different on every machine. If i do the script from thepip3r i get this response from Power Shell Set-PowerPlan : The term 'Set-PowerPlan' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + Set-PowerPlan -Plan 'Ultimate Performance' + ~~~~~~~~~~~~~
    – James
    Dec 14 '18 at 20:36
















0












0








0







I am a newbie when it comes to scripting. I am running the script above. I believe I have to take and change this line of code:



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


but I am not sure since I am getting the following error when I run the script in PS:



At C:tempSet-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:tempSet-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


The only line of code I changed was the one above.

Yes "Ultimate Performance" power scheme is installed.

Do I need to do anything else?

I am trying to change the Power Options to "Ultimate Performance" this option is already install by a previous command.
Script I was running:



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)
}









share|improve this question















I am a newbie when it comes to scripting. I am running the script above. I believe I have to take and change this line of code:



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


but I am not sure since I am getting the following error when I run the script in PS:



At C:tempSet-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:tempSet-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


The only line of code I changed was the one above.

Yes "Ultimate Performance" power scheme is installed.

Do I need to do anything else?

I am trying to change the Power Options to "Ultimate Performance" this option is already install by a previous command.
Script I was running:



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)
}






powershell script shell-script power-management






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 14 '18 at 19:49









Ahmed Ashour

1,068610




1,068610










asked Dec 14 '18 at 15:55









James

53




53












  • What script are you running exactly?
    – Ramhound
    Dec 14 '18 at 17:09










  • Your initial assertion is wrong -- you do not change anything in the param {} block. Re-download the script and run Set-PowerPlan -Plan 'Ultimate Performance'
    – thepip3r
    Dec 14 '18 at 17:34










  • I kind of newbie to powershell scripting and i not quite understanding what you are telling me to do?
    – James
    Dec 14 '18 at 18:34










  • What did the working version of the script look like? Why wouldn't you just use powercfg.exe to do this? The regular expression is the problem.
    – Ramhound
    Dec 14 '18 at 20:05












  • According to the powercfg.exe it uses the GUID to change power schemas in powershell not the name. I need to do this to multiple computer which makes the GUID different on every machine. If i do the script from thepip3r i get this response from Power Shell Set-PowerPlan : The term 'Set-PowerPlan' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + Set-PowerPlan -Plan 'Ultimate Performance' + ~~~~~~~~~~~~~
    – James
    Dec 14 '18 at 20:36




















  • What script are you running exactly?
    – Ramhound
    Dec 14 '18 at 17:09










  • Your initial assertion is wrong -- you do not change anything in the param {} block. Re-download the script and run Set-PowerPlan -Plan 'Ultimate Performance'
    – thepip3r
    Dec 14 '18 at 17:34










  • I kind of newbie to powershell scripting and i not quite understanding what you are telling me to do?
    – James
    Dec 14 '18 at 18:34










  • What did the working version of the script look like? Why wouldn't you just use powercfg.exe to do this? The regular expression is the problem.
    – Ramhound
    Dec 14 '18 at 20:05












  • According to the powercfg.exe it uses the GUID to change power schemas in powershell not the name. I need to do this to multiple computer which makes the GUID different on every machine. If i do the script from thepip3r i get this response from Power Shell Set-PowerPlan : The term 'Set-PowerPlan' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + Set-PowerPlan -Plan 'Ultimate Performance' + ~~~~~~~~~~~~~
    – James
    Dec 14 '18 at 20:36


















What script are you running exactly?
– Ramhound
Dec 14 '18 at 17:09




What script are you running exactly?
– Ramhound
Dec 14 '18 at 17:09












Your initial assertion is wrong -- you do not change anything in the param {} block. Re-download the script and run Set-PowerPlan -Plan 'Ultimate Performance'
– thepip3r
Dec 14 '18 at 17:34




Your initial assertion is wrong -- you do not change anything in the param {} block. Re-download the script and run Set-PowerPlan -Plan 'Ultimate Performance'
– thepip3r
Dec 14 '18 at 17:34












I kind of newbie to powershell scripting and i not quite understanding what you are telling me to do?
– James
Dec 14 '18 at 18:34




I kind of newbie to powershell scripting and i not quite understanding what you are telling me to do?
– James
Dec 14 '18 at 18:34












What did the working version of the script look like? Why wouldn't you just use powercfg.exe to do this? The regular expression is the problem.
– Ramhound
Dec 14 '18 at 20:05






What did the working version of the script look like? Why wouldn't you just use powercfg.exe to do this? The regular expression is the problem.
– Ramhound
Dec 14 '18 at 20:05














According to the powercfg.exe it uses the GUID to change power schemas in powershell not the name. I need to do this to multiple computer which makes the GUID different on every machine. If i do the script from thepip3r i get this response from Power Shell Set-PowerPlan : The term 'Set-PowerPlan' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + Set-PowerPlan -Plan 'Ultimate Performance' + ~~~~~~~~~~~~~
– James
Dec 14 '18 at 20:36






According to the powercfg.exe it uses the GUID to change power schemas in powershell not the name. I need to do this to multiple computer which makes the GUID different on every machine. If i do the script from thepip3r i get this response from Power Shell Set-PowerPlan : The term 'Set-PowerPlan' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + Set-PowerPlan -Plan 'Ultimate Performance' + ~~~~~~~~~~~~~
– James
Dec 14 '18 at 20:36












0






active

oldest

votes











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1383627%2fchanging-power-options-with-powershell%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Super User!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1383627%2fchanging-power-options-with-powershell%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Paul Cézanne

UIScrollView CustomStickyHeader Resize height generates problems when scroll is too fast

Angular material date-picker (MatDatepicker) auto completes the date on focus out