blog.bartlweb - a technologist's external brain

Helligkeit des Displays unter Windows über die Kommandozeile steuern

Notebooks und Windows-Tablets können anhand der Energiespareinstellungen und des Zustandswechsels zwischen Netz- und Akku-Betrieb gemäß den vorgenommenen Einstellungen die Displayhelligkeit automatisch regeln. Was aber wenn das Gerät als digitaler Bilderrahmen oder Infodisplay betrieben werden und über Nacht die Displayhelligkeit reduzieren soll, um nicht zu hell zu leuchten bzw. Energie zu sparen?

Windows lässt es mit etwas Aufwand zu, die Einstellungen des aktuellen Energiesparplans über die Kommandozeile zu ändern und damit auch die aktuell gesetzte Displayhelligkeit. Mit einem kleinen Batch-Skript und den geplanten Aufgaben lässt sich so die Displayhelligkeit bei Bedarf manuell regulieren.

Das unten angeführte Skript funktioniert nur unter einer deutschsprachigen Windows-Installation, da die für das Setzen der Einstellungen notwendigen IDs anhand von Stichworten aus einer deutschen Textausgabe herausgefiltert werden müssen.

Zunächst müssen die entsprechenden Einstellungs-GUID (Global Unique Identifier) des aktuellen Energiesparplans ermittelt werden, dann kann der unten stehende Befehl genutzt werden, um die Displayhelligkeit des aktuellen Energisparplans auf z.B. 40% zu setzen.

powercfg -SetAcValueIndex <GUID-Energieschema> <GUID-Bildschirm> <GUID-Bildschirmhelligkeit> 40

Die nachstehende Zeile sorgt dafür, dass die oben getätigte Änderungen an den Einstellungen auch sofort angewandt wird.

powercfg -S <GUID-Energieschema>

Batch-Skript

@echo off
 
rem #############################
rem GUID des aktuellen Energiesparschemas ermitteln
rem #############################
 
for /f "tokens=*" %%i in ('powercfg -q ^| find "GUID des Energieschemas:"') do set powerscheme=%%i
rem GUID aus der Textzeile "GUID des Energieschemas: 381b4222-f694-41f0-9685-ff5bb260df2e  (Ausbalanciert)" extrahieren
set powerscheme=%powerscheme:~25,36%
 
for /f "tokens=*" %%i in ('powercfg -q ^| find "(Bildschirm)"') do set display=%%i
rem GUID aus der Textzeile "GUID der Untergruppe: 7516b95f-f776-4464-8c53-06167f40cc99  (Bildsschirm)" extrahieren
set display=%display:~22,36%
 
for /f "tokens=*" %%i in ('powercfg -q ^| find "(Bildschirmhelligkeit)"') do set brightness=%%i
rem GUID aus der Textzeile "GUID der Energieeinstellung: aded5e82-b909-4619-9949-f5d71dac0bcb  (Bildschirmhelligkeit)" extrahieren
set brightness=%brightness:~29,36%
 
rem #############################
rem Displayhelligkeit setzen
rem #############################
 
rem Parameter -SetDcValueIndex setzt die DisplayHelligkeit bei Batteriebetrieb
rem Paremeter -SetAcValueIndex setzt die DisplayHelligkeit bei Netzbetrieb
 
powercfg -SetAcValueIndex %powerscheme% %display% %brightness% 40
powercfg -S %powerscheme%

Dieser Artikel hat dir deinen Tag gerettet?
... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? ... oder einfach nur dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Spende honorierst:

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste - ich freue mich über deine Anmerkungen, Kritik und Fragen.

Kommentar schreiben

Deine E-Mailadresse wird nur für Benachrichtigungen und Rückfragen verwendet und wird nicht veröffentlicht.

Benachrichtigungen können jederzeit wieder abbestellt werden.

Bitte tippe die Zahlenkombination "6474" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.