Ultimate Performance via GUID rather than name (#2556)

* Ultimate Performance via GUID, not name

* Another way to extract the GUID to remove the French part code
This commit is contained in:
Atis 2024-09-10 03:02:55 +02:00 committed by GitHub
parent b21bc35443
commit 885108df7e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,43 +2,66 @@ Function Invoke-WPFUltimatePerformance {
<# <#
.SYNOPSIS .SYNOPSIS
Creates or removes the Ultimate Performance power scheme Enables or disables the Ultimate Performance power scheme based on its GUID.
.PARAMETER State .PARAMETER State
Indicates whether to enable or disable the Ultimate Performance power scheme Specifies whether to "Enable" or "Disable" the Ultimate Performance power scheme.
#> #>
param($State) param($State)
try { try {
# Check if Ultimate Performance plan is installed # GUID of the Ultimate Performance power plan
$ultimatePlan = powercfg -list | Select-String -Pattern "Ultimate Performance" $ultimateGUID = "e9a42b02-d5df-448d-aa00-03f14749eb61"
if($state -eq "Enable") {
if ($ultimatePlan) { if ($State -eq "Enable") {
Write-Host "Ultimate Performance plan is already installed." # Duplicate the Ultimate Performance power plan using its GUID
} else { $duplicateOutput = powercfg /duplicatescheme $ultimateGUID
Write-Host "Installing Ultimate Performance plan..."
powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61 $guid = $null
Write-Host "> Ultimate Performance plan installed." $nameFromFile = "ChrisTitus - Ultimate Power Plan"
$description = "Ultimate Power Plan, added via WinUtils"
# Extract the new GUID from the duplicateOutput
foreach ($line in $duplicateOutput) {
if ($line -match "\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\b") {
$guid = $matches[0] # $matches[0] will contain the first match, which is the GUID
Write-Output "GUID: $guid has been extracted and stored in the variable."
break
}
}
} }
# Set the Ultimate Performance plan as active if (-not $guid) {
$ultimatePlanGUID = (powercfg -list | Select-String -Pattern "Ultimate Performance").Line.Split()[3] Write-Output "No GUID found in the duplicateOutput. Check the output format."
powercfg -setactive $ultimatePlanGUID exit 1
Write-Host "Ultimate Performance plan is now active."
} }
elseif($state -eq "Disable") {
if ($ultimatePlan) { # Change the name of the power plan and set its description
# Extract the GUID of the Ultimate Performance plan $changeNameOutput = powercfg /changename $guid "$nameFromFile" "$description"
$ultimatePlanGUID = $ultimatePlan.Line.Split()[3] Write-Output "The power plan name and description have been changed. Output:"
Write-Output $changeNameOutput
# Set the duplicated Ultimate Performance plan as active
$setActiveOutput = powercfg /setactive $guid
Write-Output "The power plan has been set as active. Output:"
Write-Output $setActiveOutput
Write-Host "> Ultimate Performance plan installed and set as active."
} elseif ($State -eq "Disable") {
# Check if the Ultimate Performance plan is installed by GUID
$installedPlan = powercfg -list | Select-String -Pattern $ultimateGUID
if ($installedPlan) {
# Extract the GUID of the installed Ultimate Performance plan
$ultimatePlanGUID = $installedPlan.Line.Split()[3]
# Set a different power plan as active before deleting the Ultimate Performance plan # Set a different power plan as active before deleting the Ultimate Performance plan
$balancedPlanGUID = (powercfg -list | Select-String -Pattern "Balanced").Line.Split()[3] $balancedPlanGUID = (powercfg -list | Select-String -Pattern "Balanced").Line.Split()[3]
powercfg -setactive $balancedPlanGUID powercfg -setactive $balancedPlanGUID
# Delete the Ultimate Performance plan # Delete the Ultimate Performance plan by GUID
powercfg -delete $ultimatePlanGUID powercfg -delete $ultimatePlanGUID
Write-Host "Ultimate Performance plan has been uninstalled." Write-Host "Ultimate Performance plan has been uninstalled."
@ -48,6 +71,6 @@ Function Invoke-WPFUltimatePerformance {
} }
} }
} catch { } catch {
Write-Warning $psitem.Exception.Message Write-Error "Error occurred: $_"
} }
} }