Powerplan Fix and Custom

Video with exemple : https://youtu.be/00aUECZNvbA
This commit is contained in:
Atis 2024-08-10 16:21:53 +02:00 committed by GitHub
parent 5994105fba
commit 09fed571b7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

60
utilmatepowerplan-fix.ps1 Normal file
View File

@ -0,0 +1,60 @@
# PowerShell script to fix the power plan applied across all languages based on the GUID of the new power plan.
# This is necessary because when Windows is in a different language, the power plan might not be applied correctly.
# This script changes the name and description of the power plan.
#Video : https://youtu.be/00aUECZNvbA
# ID of the plan to duplicate
$sourceGUID = "e9a42b02-d5df-448d-aa00-03f14749eb61"
$guid = $null
$nameFromFile = "ChrisTitus - Ultimate Power Plan"
$description = "Ultimate Power Plan , added via WinUtils"
$scriptPath = $MyInvocation.MyCommand.Path
$directoryPath = Split-Path -Path $scriptPath -Parent
$guidFilePath = Join-Path -Path $directoryPath -ChildPath "guid.txt"
$duplicateOutput = powercfg /duplicatescheme $sourceGUID
try {
$duplicateOutput | Out-File -FilePath $guidFilePath -Append -Encoding utf8 -Force
Write-Output "The output of 'powercfg /duplicatescheme' has been added to $guidFilePath."
} catch {
Write-Error "Error writing to the file: $_"
}
$content = Get-Content -Path $guidFilePath -Encoding utf8
# Extract the GUID from the content
foreach ($line in $content) {
if ($line -match "GUID du mode de gestion de l'alimentation\s*:\s*([a-fA-F0-9\-]+)") {
$guid = $matches[1]
# Write the GUID to guid.txt (overwrite existing content)
$guid | Out-File -FilePath $guidFilePath -Encoding utf8 -Force
Write-Output "GUID: $guid has been saved to $guidFilePath"
}
}
if (-not $guid) {
Write-Output "No GUID found in $guidFilePath. Check the content format."
}
# Execute commands to change the plan name and set the plan as active
try {
if ($guid) {
# Change the name of the power plan and set its description
$changeNameOutput = powercfg /changename $guid "$nameFromFile" "$description"
Write-Output "The power plan name and description have been changed. Output:"
Write-Output $changeNameOutput
# Set the power plan as active
$setActiveOutput = powercfg /setactive $guid
Write-Output "The power plan has been set as active. Output:"
Write-Output $setActiveOutput
} else {
Write-Output "GUID is missing. Ensure that guid.txt contains the necessary information."
}
} catch {
Write-Error "Error executing powercfg commands: $_"
}