Powershell - Afficher et modifier le mode d'alimentation sous Windows
Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub ou encore faire un don. Merci!
Bonjour,
Depuis quelques temps, je fais plus attention à ma consommation énergétique et forcément la consommation de mon PC de travail en fait parti.
Sur une utilisation normale, je n’ai pas vu de grosses différences de consommation entre le mode normal et performance (en utilisation normale), mais en mode économie d’énergie je réduis de plus de 60w (grosso modo 140w au lieu de 200w).
Je n’ai pas ressenti de lenteurs génantes en mode économie d’énergie, mais par sécurité je passe en mode performance quand je fais et encode des vidéos ou de la 3D.
Mais passer d’économie à performance, prend trop d’actions graphiquement (et je suis fainéant) alors qu’une petite fonction powershell se lance rapidement.
# Lister les modes d'alimentationGet-CimInstance -Name root\cimv2\power -Class Win32_PowerPlan | Select-Object -Property ElementName, instanceid, IsActive# ouPowerCfg.exe -list
# Lister le mode d'alimentation actuellement utiliséGet-CimInstance -Name root\cimv2\power -Class Win32_PowerPlan -filter "IsActive = 'true'"# ouPowerCfg.exe -getactivescheme
# Création d'un objet personnalisé$PowerSchemes = Get-CimInstance -Name root\cimv2\power -Class Win32_PowerPlan[System.Collections.ArrayList]$PowerPlan = @()Foreach ( $Scheme in $PowerSchemes ) {$PowerPlan += [pscustomobject]@{Name = $Scheme.elementnameID = $Scheme.InstanceID.Substring(21,36)# Ou#ID $Scheme.InstanceID.split('\')[-1].trim('{}')Active = $Scheme.IsActive }}$PowerPlan
# Changer le mode d'alimentationGet-CimInstance -Name root\cimv2\power -Class Win32_PowerPlan | Where-Object ElementName -eq "Économie d'énergie" | Invoke-CimMethod -MethodName Activate# ou$GUID = 'a1841308-3541-4fab-bc81-f71556f20b4a'Powercfg.exe -SETACTIVE $GUID# 381b4222-f694-41f0-9685-ff5bb260df2e Utilisation normale# 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c Haute performance# a1841308-3541-4fab-bc81-f71556f20b4a Economie d'énergie
Ce qui peut se transformer en deux fonctions simples La première pour afficher le mode d'alimention
function Get-PowerPlan {Param ( [switch] $Active, [switch] $List )
# Lister les modes d'alimentation$PowerSchemes = Get-CimInstance -Name root\cimv2\power -Class Win32_PowerPlan
# Création d'un objet personnalisé[System.Collections.ArrayList]$PowerPlan = @()Foreach ( $Scheme in $PowerSchemes ) {$PowerPlan += [pscustomobject]@{Name = $Scheme.elementnameID = $Scheme.InstanceID.Substring(21,36)Active = $Scheme.IsActive}}
# Lister le mode d'alimentation actuellement utiliséif ( $Active ) {$PowerPlan.Where({$_.active -eq $true}).name }
# Changer le mode d'alimentationif ( $List ) {$PowerPlan } }# Afficher le mode d'alimentation actifGet-PowerPlan -Active
# Liste les modes d'alimentationGet-PowerPlan -List
Et la deuxième pour changer le mode d’alimentinon
function Set-PowerPlan {Param ( [GUID] $ID = 'a1841308-3541-4fab-bc81-f71556f20b4a', [string] $Name, [ValidateSet("Normal", "Performance", "Eco")] $FriendlyName)
# Lister les modes d'alimentation$PowerSchemes = Get-CimInstance -Name root\cimv2\power -Class Win32_PowerPlan
# Changer le mode d'alimentation en utilisant l'IDif ( $Name ) {$null = $PowerSchemes | Where-Object ElementName -eq $Name | Invoke-CimMethod -MethodName Activate }
if ( $ID ) {$null = $PowerSchemes | Where-Object InstanceID -match $ID | Invoke-CimMethod -MethodName Activate }
if ( $FriendlyName ) {switch ($FriendlyName) {"normal" { $null = $PowerSchemes | Where-Object InstanceID -match '381b4222-f694-41f0-9685-ff5bb260df2e' | Invoke-CimMethod -MethodName Activate }"performance" { $null = $PowerSchemes | Where-Object InstanceID -match '8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c' | Invoke-CimMethod -MethodName Activate }"eco" { $null = $PowerSchemes | Where-Object InstanceID -match 'a1841308-3541-4fab-bc81-f71556f20b4a' | Invoke-CimMethod -MethodName Activate } } } }# Activer un plan via son idSet-PowerPlan -id a1841308-3541-4fab-bc81-f71556f20b4a
# Activer un plan via son nomSet-PowerPlan -Name "Performances élevées"
# Activer le mode économie d'énergie défini par défautSet-PowerPlan
# Utiliser un nom plus convivialSet-PowerPlan -FriendlyName Saver
Liens en relation
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Tester la connectivité réseau et l'accessibilité aux ports avec PowershellPowershell - Afficher les connections réseau (équivalent de netstat)
Afficher les connections réseau (ports en écoute, connections actives...)Powershell - Tester la résolution de nom (équivalent de nslookup)
Commandes Powershell permettant de tester la résolution de nom (équivalent de nslookup)Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Commandes Powershell permettant d'afficher et de gérer la configuration DNS des interfaces réseauPowershell - Gérer la configuration IP des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier la configuration IP des interfaces réseauPowershell - Gérer l'état et la configuration des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier l'état et la configuration des interfaces réseau (désactiver l'IPv6, activer/désactiver une interface)
Suivez-moi sur
Soutenez-moi
Contenu récent
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Powershell - Afficher les connections réseau (équivalent de netstat)
Powershell - Tester la résolution de nom (équivalent de nslookup)
Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Powershell - Gérer la configuration IP des interfaces réseau
Powershell - Gérer l'état et la configuration des interfaces réseau
Powershell et le left hand side
Powershell - Gérer les disques, les partitions et les volumes
Powershell - Gérer les points de restauration système sous Windows