mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-15 15:15:51 -06:00
98 lines
2.9 KiB
Markdown
98 lines
2.9 KiB
Markdown
|
# Add and Activate Ultimate Performance Profile
|
||
|
|
||
|
Last Updated: 2024-08-07
|
||
|
|
||
|
|
||
|
!!! info
|
||
|
The Development Documentation is auto generated for every compilation of WinUtil, meaning a part of it will always stay up-to-date. **Developers do have the ability to add custom content, which won't be updated automatically.**
|
||
|
|
||
|
|
||
|
<!-- BEGIN CUSTOM CONTENT -->
|
||
|
|
||
|
<!-- END CUSTOM CONTENT -->
|
||
|
|
||
|
<details>
|
||
|
<summary>Preview Code</summary>
|
||
|
|
||
|
```json
|
||
|
{
|
||
|
"Content": "Add and Activate Ultimate Performance Profile",
|
||
|
"category": "Performance Plans",
|
||
|
"panel": "2",
|
||
|
"Order": "a080_",
|
||
|
"Type": "Button",
|
||
|
"ButtonWidth": "300",
|
||
|
"link": "https://christitustech.github.io/winutil/dev/tweaks/Performance-Plans/AddUltPerf"
|
||
|
}
|
||
|
```
|
||
|
|
||
|
</details>
|
||
|
|
||
|
## Function: Invoke-WPFUltimatePerformance
|
||
|
|
||
|
```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
|
||
|
}
|
||
|
}
|
||
|
|
||
|
```
|
||
|
|
||
|
|
||
|
<!-- BEGIN SECOND CUSTOM CONTENT -->
|
||
|
|
||
|
<!-- END SECOND CUSTOM CONTENT -->
|
||
|
|
||
|
|
||
|
[View the JSON file](https://github.com/ChrisTitusTech/winutil/tree/main/config/tweaks.json)
|
||
|
|