winutil/functions/public/Invoke-WPFUltimatePerformance.ps1
MyDrift 78a6a60d96
Repo Cleanup (#2367)
* remove trailing whitespaces, remove unused img folder

* Rename TweaksScreen.PNG to TweaksScreen.png

* restructure "Install-WinUtilProgramWinget"

* undo programwinget function rework

* fix typo
2024-07-16 14:02:31 -05:00

53 lines
2.0 KiB
PowerShell

Function Invoke-WPFUltimatePerformance {
<#
.SYNOPSIS
Creates or removes the Ultimate Performance power scheme
.PARAMETER State
Indicates whether to enable or disable the Ultimate Performance power scheme
#>
param($State)
Try{
# Check if Ultimate Performance plan is installed
$ultimatePlan = powercfg -list | Select-String -Pattern "Ultimate Performance"
if($state -eq "Enable"){
if ($ultimatePlan) {
Write-Host "Ultimate Performance plan is already installed."
} else {
Write-Host "Installing Ultimate Performance plan..."
powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
Write-Host "> Ultimate Performance plan installed."
}
# Set the Ultimate Performance plan as active
$ultimatePlanGUID = (powercfg -list | Select-String -Pattern "Ultimate Performance").Line.Split()[3]
powercfg -setactive $ultimatePlanGUID
Write-Host "Ultimate Performance plan is now active."
}
elseif($state -eq "Disable"){
if ($ultimatePlan) {
# Extract the GUID of the Ultimate Performance plan
$ultimatePlanGUID = $ultimatePlan.Line.Split()[3]
# Set a different power plan as active before deleting the Ultimate Performance plan
$balancedPlanGUID = (powercfg -list | Select-String -Pattern "Balanced").Line.Split()[3]
powercfg -setactive $balancedPlanGUID
# Delete the Ultimate Performance plan
powercfg -delete $ultimatePlanGUID
Write-Host "Ultimate Performance plan has been uninstalled."
Write-Host "> Balanced plan is now active."
} else {
Write-Host "Ultimate Performance plan is not installed."
}
}
} Catch{
Write-Warning $psitem.Exception.Message
}
}