Ultimate Performance via GUID, not name

This commit is contained in:
Atis 2024-08-13 01:43:07 +02:00 committed by GitHub
parent e90156adb9
commit 1adc239c3a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,43 +2,65 @@ 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 "GUID du mode de gestion de l'alimentation\s*:\s*([a-fA-F0-9\-]+)") {
$guid = $matches[1]
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." # Change the name of the power plan and set its description
$changeNameOutput = powercfg /changename $guid "$nameFromFile" "$description"
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") {
if ($ultimatePlan) { } elseif ($State -eq "Disable") {
# Extract the GUID of the Ultimate Performance plan # Check if the Ultimate Performance plan is installed by GUID
$ultimatePlanGUID = $ultimatePlan.Line.Split()[3] $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 +70,6 @@ Function Invoke-WPFUltimatePerformance {
} }
} }
} catch { } catch {
Write-Warning $psitem.Exception.Message Write-Error "Error occurred: $_"
} }
} }