mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 22:55:52 -06:00
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:
parent
b21bc35443
commit
885108df7e
@ -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: $_"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user