Windows Kommandozeile - Set Power State

emeriks
Goto Top
Hi,
wie kann man unter Windows per Kommandozeile (auch PowerShell) den Energiezustand des Computers setzen?

z.B. mit
kann man sofort in den Sleep Modus wechseln.

Ich will aber nur den Power State wechseln, z.B. Mode 2 - Power Save - Low Power Mode.

Angeblich soll man das mit der Methode SetPowerState der CIM-KLasse CIM_ComputerSystem machen können, aber unter Win11 Pro wird mir gemeldet, dass diese Methode unbekannt wäre. Auch über Win32_ComputerSystem oder CIM_UnitaryComputerSystem geht das nicht.

Wie kann ich das mit Bordmitteln bewerkstelligen?

Anmerkung:
Ich will nicht das Power Schema ändern! (Energiesparplan)

E.

Content-Key: 3219748128

Url: https://administrator.de/contentid/3219748128

Ausgedruckt am: 15.08.2022 um 18:08 Uhr

Mitglied: colinardo
colinardo 30.06.2022 aktualisiert um 17:40:44 Uhr
Goto Top
Servis @emeriks,
schau mal hier rein
https://github.com/AaronKelley/PowerMode
https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/cust ...
Dann kannst du per Powershell den Mode so mit der Powershell ändern
Zur Info: Das folgende ändert nicht den Energiesparplan!

Du kannst die aktuelle OverlayGUID auch per Code auslesen

Hoffe das war das was du suchst.
Grüße Uwe
Mitglied: emeriks
emeriks 01.07.2022 um 09:37:31 Uhr
Goto Top
Danke, aber nee, das funktioniert nicht. Da passiert gar nichts.

Bei

[win32.power]::PowerSetActiveOverlayScheme(....

liefert er einfach nur "0" und nichts passiert.

E.
Mitglied: colinardo
colinardo 01.07.2022 aktualisiert um 09:55:20 Uhr
Goto Top
Zitat von @emeriks:

Danke, aber nee, das funktioniert nicht. Da passiert gar nichts.
Klappt hier im Test auf einem Windows 11 Notebook problemlos.
Bei

[win32.power]::PowerSetActiveOverlayScheme(....

liefert er einfach nur "0" und nichts passiert.
Der RückgabeCode der Funktion 0 bedeutet Erfolg. Weitere Ausgaben gibt es nicht. Du musst nur die richtig GUID verwenden bzw. auslesen wenn diese auf deinem System anders ist, s. Hinweise in den Links oben!
Mitglied: TomTomBon
TomTomBon 01.07.2022 um 09:48:06 Uhr
Goto Top
Moin

Unter Win11 funktionieren bei mir meistens die Sachen die Ich noch von W7 habe face-smile

Aber die Unterstützung Treiberseitig ist noch zickiger als unter W10 (Hybernate..)


Ich habe eine neue Verkünpfung erstellt wo Ich die Zeile als Ziel eingegeben habe.
Und ein entsprechendes Icon face-wink

Ruezustand:
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState

Herunterfahren
C:\Windows\System32\shutdown.exe /s /t 10

Neustart
C:\Windows\System32\shutdown.exe /r /t 2

Abmelden
C:\Windows\System32\shutdown.exe /L /F

Standby
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState Sleep
Mitglied: emeriks
emeriks 01.07.2022 um 09:55:37 Uhr
Goto Top
Zitat von @colinardo:
Du musst nur die richtig GUID verwenden bzw. auslesen wenn diese auf deinem System anders ist, s. Hinweise in den Links oben!
Sorry, das habe ich nicht erwähnt.
Da wird mir nur eine Null-GUID geliefert. (Alles "0").
Mitglied: colinardo
colinardo 01.07.2022 aktualisiert um 09:58:06 Uhr
Goto Top
Zitat von @emeriks:
Da wird mir nur eine Null-GUID geliefert. (Alles "0").
Wenn kein Overlay gesetzt ist ist das normal. Du musst den Slider mal mal manuell nach Links oder rechts ziehen, dann die GUID nochmal auslesen (Registry oder o.g. Funktion), diese kannst du dann beim Setzen mit PowerSetActiveOverlayScheme verwenden um das entsprechende Profil zu aktivieren.
Mitglied: emeriks
emeriks 01.07.2022 um 10:01:24 Uhr
Goto Top
Zitat von @TomTomBon:
Ruezustand:
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState
Standby
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState Sleep
Da kommt das gleich bei raus.

Und es ist nicht das, was ich suche.

Ich will nur, dass der Rechner in den Energiesparmodus wechselt, sodass er sofort wieder anspringt, wenn einer seiner Dienste über Netzwerk angesprochen wird. z.B. RDP, oder eine Freigabe. Ohne, dass man vorher ein Magic Packet senden muss (WOL).
Mitglied: colinardo
Lösung colinardo 01.07.2022 aktualisiert um 10:07:26 Uhr
Goto Top
Zitat von @emeriks:
Ich will nur, dass der Rechner in den Energiesparmodus wechselt, sodass er sofort wieder anspringt, wenn einer seiner Dienste über Netzwerk angesprochen wird. z.B. RDP, oder eine Freigabe. Ohne, dass man vorher ein Magic packet sendet muss (WOL).
Ich glaube wir sprechen hier von zwei unterschiedlichen Dingen, meine Info oben setzt den Powerzustand des Prozessors, der PC wechselt hierbei also nicht in einen Standbymodus!

Für Suspend mit Wakeup-Events geht z.B. folgendes
Application.SetSuspendState(PowerState, Boolean, Boolean) Methode
wenn einer seiner Dienste über Netzwerk angesprochen wird. z.B. RDP, oder eine Freigabe
Das muss in den NIC Einstellungen aber auch aktiviert sein.
Mitglied: emeriks
emeriks 01.07.2022 um 10:06:56 Uhr
Goto Top
Zitat von @colinardo:
Wenn kein Overlay gesetzt ist ist das normal. Du musst den Slider mal mal manuell nach Links oder rechts ziehen, dann die GUID nochmal auslesen (Registry oder o.g. Funktion), diese kannst du dann beim Setzen mit PowerSetActiveOverlayScheme verwenden um das entsprechende Profil zu aktivieren.
Hmm, jetzt kann ich nicht folgen, was Du meinst. Welchen Slider?
Mitglied: colinardo
colinardo 01.07.2022 aktualisiert um 10:08:39 Uhr
Goto Top
Zitat von @emeriks:
Hmm, jetzt kann ich nicht folgen, was Du meinst. Welchen Slider?
Öhm , das zum Thema gepostete Links lesen face-sad. Ich bin jetzt raus...
Mitglied: emeriks
emeriks 01.07.2022 aktualisiert um 10:38:02 Uhr
Goto Top
Zitat von @colinardo:
Ich glaube wir sprechen hier von zwei unterschiedlichen Dingen, meine Info oben setzt den Powerzustand des Prozessors, der PC wechselt hierbei also nicht in einen Standbymodus!
Und ich hatte schon an mir selbst gezweifelt ...

Das muss in den NIC Einstellungen aber auch aktiviert sein.
Ja, klar. Ist es.

Für Suspend mit Wakeup-Events geht z.B. folgendes
Das ist es. Danke!

Wieso weißt Du sowas, und ich nicht? face-wink
Mitglied: colinardo
colinardo 01.07.2022 um 10:20:41 Uhr
Goto Top
Zitat von @emeriks:
Wieso weißt Du sowas, und ich nicht? face-wink
Wenn ich das wüsste face-smile?!