winutil/functions/public/Invoke-WPFUltimatePerformance.ps1
Chris Titus 2c6b459870
Fix power profile (#766)
* Fix power profile query

* fix syntax

* fix

* Update Invoke-WPFUltimatePerformance.ps1

* Update winutil.ps1

* power profile fix
2023-05-16 14:52:11 -05:00

73 lines
2.4 KiB
PowerShell

Function Invoke-WPFUltimatePerformance {
<#
.DESCRIPTION
PlaceHolder
#>
param($State)
Try{
if($state -eq "Enabled"){
# Define the name and GUID of the power scheme you want to add
$powerSchemeName = "Ultimate Performance"
$powerSchemeGuid = "e9a42b02-d5df-448d-aa00-03f14749eb61"
# Get all power schemes
$schemes = powercfg /list | Out-String -Stream
# Find the scheme you want to add
$ultimateScheme = $schemes | Where-Object { $_ -match $powerSchemeName }
# If the scheme does not exist, add it
if ($null -eq $ultimateScheme) {
Write-Host "Power scheme '$powerSchemeName' not found. Adding..."
# Add the power scheme
powercfg /duplicatescheme $powerSchemeGuid
Write-Host "Power scheme added successfully."
}
else {
Write-Host "Power scheme '$powerSchemeName' already exists."
}
}
elseif($state -eq "Disabled"){
# Define the name of the power scheme you want to remove
$powerSchemeName = "Ultimate Performance"
# Get all power schemes
$schemes = powercfg /list | Out-String -Stream
# Find the scheme you want to remove
$ultimateScheme = $schemes | Where-Object { $_ -match $powerSchemeName }
# If the scheme exists, remove it
if ($null -ne $ultimateScheme) {
# Extract the GUID of the power scheme
$guid = ($ultimateScheme -split '\s+')[3]
if($null -ne $guid){
Write-Host "Found power scheme '$powerSchemeName' with GUID $guid. Removing..."
# Remove the power scheme
powercfg /delete $guid
Write-Host "Power scheme removed successfully."
}
else {
Write-Host "Could not find GUID for power scheme '$powerSchemeName'."
}
}
else {
Write-Host "Power scheme '$powerSchemeName' not found."
}
}
}
Catch{
Write-Warning $psitem.Exception.Message
}
}