mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 22:55:52 -06:00
78a6a60d96
* remove trailing whitespaces, remove unused img folder * Rename TweaksScreen.PNG to TweaksScreen.png * restructure "Install-WinUtilProgramWinget" * undo programwinget function rework * fix typo
53 lines
2.0 KiB
PowerShell
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
|
|
}
|
|
} |