Energieeinstellungen auf einem lokalen Computer per Script abfragen
Hallo,
Ich bin gerade dabei ein Script zu schreiben, dass gewisse Computereinstellungen überprüft. Unter anderen schaue ich mir dabei die Registry der Einstellungen an. Das Funktioniert soweit auch alles, allerdings bin ich gerade dabei mir die Energieeinstellungen anzusehen und dort hapert es aktuell ein wenig.
Ich weiß, wie ich die Einstellungen mit powercfg vornehme.
powercfg /x Disk-timeout-ac 0
powercfg /x Disk-timeout-dc 0
powercfg /x Standby-timeout-dc 0
powercfg /x Standby-timeout-ac 0
powercfg /x Hibernate-timeout-ac 0
powercfg /x Hibernate-timeout-dc 0
Das sind ein paar Beispiele von den Einstellungen, die ich per Script überprüfen möchte. Sprich ich geh an einen Rechner ran, lasse das Script laufen und Frage dann die Einstellungen ab.
Man kann ja auch über den Befehl
powercfg -q 381b4222-f694-41f0-9685-ff5bb260df2e 0012ee47-9041-4b5d-9b77-535fba8b1442
z.B den Energiemodus um den es sich handelt mit Untergruppen sich ausgeben lassen. Allerdings sind dort dann noch viele Unnötige Informationen vorhanden, die nicht gebraucht werden.
Muss ich jetzt durch diese Ausgabe parsen und mir dort die nötigen Informationen rausfiltern, oder gibt es noch andere Wege mein Vorhaben durchzusetzen?
Vielen Dank im Vorraus
Ich bin gerade dabei ein Script zu schreiben, dass gewisse Computereinstellungen überprüft. Unter anderen schaue ich mir dabei die Registry der Einstellungen an. Das Funktioniert soweit auch alles, allerdings bin ich gerade dabei mir die Energieeinstellungen anzusehen und dort hapert es aktuell ein wenig.
Ich weiß, wie ich die Einstellungen mit powercfg vornehme.
powercfg /x Disk-timeout-ac 0
powercfg /x Disk-timeout-dc 0
powercfg /x Standby-timeout-dc 0
powercfg /x Standby-timeout-ac 0
powercfg /x Hibernate-timeout-ac 0
powercfg /x Hibernate-timeout-dc 0
Das sind ein paar Beispiele von den Einstellungen, die ich per Script überprüfen möchte. Sprich ich geh an einen Rechner ran, lasse das Script laufen und Frage dann die Einstellungen ab.
Man kann ja auch über den Befehl
powercfg -q 381b4222-f694-41f0-9685-ff5bb260df2e 0012ee47-9041-4b5d-9b77-535fba8b1442
z.B den Energiemodus um den es sich handelt mit Untergruppen sich ausgeben lassen. Allerdings sind dort dann noch viele Unnötige Informationen vorhanden, die nicht gebraucht werden.
Muss ich jetzt durch diese Ausgabe parsen und mir dort die nötigen Informationen rausfiltern, oder gibt es noch andere Wege mein Vorhaben durchzusetzen?
Vielen Dank im Vorraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 544603
Url: https://administrator.de/forum/energieeinstellungen-auf-einem-lokalen-computer-per-script-abfragen-544603.html
Ausgedruckt am: 27.04.2025 um 06:04 Uhr
2 Kommentare
Neuester Kommentar

Zitat von @Revicx:
Muss ich jetzt durch diese Ausgabe parsen und mir dort die nötigen Informationen rausfiltern,
Wenn du nach "Anno 1900 Art" in Batch machen willst dann ja, muss man ja eigentlich mit fast allem was man in Batch irgendwie weiterverwenden will.Muss ich jetzt durch diese Ausgabe parsen und mir dort die nötigen Informationen rausfiltern,
oder gibt es noch andere Wege mein Vorhaben durchzusetzen?
Schau dir den WMI Namespace root\cimv2\power mal an da findest du x Klassen um die gewünschten Daten abzufragen oder zu ändern, ob nun über wmic, Powershell oder wie du halt willst.https://docs.microsoft.com/en-us/previous-versions/windows/desktop/power ...
https://devblogs.microsoft.com/scripting/use-powershell-and-wmi-or-cim-t ...
Beispiel um alle Settings des aktuellen Energiesparplans als Objekte in der Powershell abzufragen mit denen man direkt weiterarbeiten kann (auch setzen der Daten ist möglich über die beschreibbare Eigenschaft settingindexvalue):
$currentPowerPlan = gwmi win32_PowerPlan -Namespace root\cimv2\Power | ?{$_.IsActive}
$settings = $currentPowerPlan.GetRelated("win32_powersettingdataindex")
$settings | %{
$index = $_
$index.GetRelated("Win32_PowerSetting") | select @{n='PowerSetting';e={$index.instanceID}},ElementName,@{n='AC/DC';e={$index.InstanceID.split('\')[2]}},Description,@{n='Value';e={$index.settingindexvalue}}
} | ft ElementName,'AC/DC',Value -AutoSize