Ruhezustand oder Energiesparen
#1
geschrieben 30. April 2019 - 22:23
man kann Windows in den Ruhezustand oder Energiesparen schicken. Energiesparen geht mit dem Startmenü, ist mir aber etwas zu umständlich. Mit Shutdown /h Ruhezustand geht Windows noch weiter herunter.
Gibt's einen Shutdown-ähnlichen Befehl auf der Kommandozeile fürs Energiesparen? Würde mir weiterhelfen.
Anzeige
#2
geschrieben 01. Mai 2019 - 01:09
[Windows.Forms.Application]::SetSuspendState([System.Windows.Forms.PowerState]::Suspend, $true, $true)
Dazu muß ggfs. zunächst WinForms referenziert werden (Add-Type -AssemblyName System.Windows.Forms).
Parameter 1 kann auch Hibernate sein (statt Suspend).
Parameter 2 (Force) sagt, ob der Zustandswechsel erzwungen werden soll oder nicht, und
Parameter 3 deaktiviert WakeTimer für den Prozeß. Der PC wacht dann nicht zeitgesteuert auf (wohl aber eventgesteuert).
In .NET (C#, VB.NET, ...) geht das Ganze auch, wenn man das will. Spart den Overhead für die Powershell, aber schlägt halt schon die Brücke zum Programmieren und man muß das kompilieren, bevor man seine EXE bekommt.
Meines Wissens gibt es allerdings keine "fertige" Lösung in Windows-Bordmitteln, aber kann natürlich sein, daß es da eine App für gibt.
#3
geschrieben 01. Mai 2019 - 05:30
Zitat (joe13: 30. April 2019 - 22:23)
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState Sleep
/hibernate on -> Ruhezustand
/hibernate off -> Energiesparen
Dieser Beitrag wurde von Candlebox bearbeitet: 01. Mai 2019 - 05:31
#4
geschrieben 01. Mai 2019 - 12:07
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState Sleep
als auch C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState Sleep /hibernate off
führen zum selben Zustand, und ich muß den Netzschalter drücken statt bloß einem Druck auf die Tastatur.
#5
geschrieben 01. Mai 2019 - 12:48
Wenn Du den Ruhezustand mit powercfg -h on aktiviert hast, fährt der Befehl
Zitat
Den PC in den Ruhezustand.
Wenn Du den Ruhezustand mit powercfg -h off deaktiviert hast fährt der Befehl
Zitat
den PC in den Energiesparmodus.
Aktivieren/deaktivieren des Ruhezustands unter CMD mit Adminrechten.
Hier vielleicht besser erklärt.
Dieser Beitrag wurde von Candlebox bearbeitet: 01. Mai 2019 - 13:00
#6
geschrieben 01. Mai 2019 - 15:08
powercfg -h off
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState Sleep
fährt bei meinem Win7/64 ganz runter - vermutlich suspend to disk.
Dieser Beitrag wurde von joe13 bearbeitet: 01. Mai 2019 - 17:02
#7
geschrieben 01. Mai 2019 - 15:57
nircmd.exe standby
Dann kannst Du das System auch wieder mit Maus o. Tastatur aufwecken. Klappt bei mir jedenfalls.
Ansonsten musst Du Dir über die Powershell etwas zurecht basteln, so wie es Ralph schon vorgeschlagen hat, auch wenn es so nicht funktioniert. Das muss ich selber erst einmal testen.
Theoretisch müsste es aber auch mit rundll gehen:
C:\Windows\System32\rundll32.exe powrprof.dll,SetSuspendState 0,1,0
Das sollte eigentlich Sleep aktivieren und WakeupEvents zulassen. Aber funktioniert bei mir so nicht. Kann sein, dass sich da in Windows 10 wieder was verändert hat.
---
Ich bin ein kleiner, schnickeldischnuckeliger Tiger aus dem Schwarzwald.
Alle haben mich ganz dolle lila lieb.
#8
geschrieben 01. Mai 2019 - 16:07
Ich habe den Ruhezustand per powercfg -h off permanent deaktiviert und lasse den PC einfach einschlafen, ersatzweise könnte ich gezeigte Verknüpfung nehmen und wecke per Maus bzw. Tastatur.
Naja, wahrscheinlich mache ich mal wieder nur was falsch, daß es bei mir funktioniert.
#9
geschrieben 01. Mai 2019 - 16:21
Mit powercfg -h off geht er in Sleep, weil Hybernation nicht zur Verfügung steht. Was anderes unterstützt die Funktion ja nicht. Aber das ist ja so nicht wirklich Sinn der Sache.
Es müsste eigentlich mit 0,1,0 funktionieren, tut es aber nicht, weil er die Werte nicht übernimmt. SetSuspendState Sleep ist auch nutzlos, weil kennt die Funktion nicht. Die erwartet nur drei mal TRUE|FALSE (0|1).
---
In der Powershell funktioniert es:
Add-Type -AssemblyName System.Windows.Forms [System.Windows.Forms.Application]::SetSuspendState(0,1,0)
Da übernimmt er die Werte korrekt und das System geht trotz powercfg -h on nur in den Sleep Modus. 1,1,0 würde Hybernation bewirken. über rundll32 funktioniert das irgendwie nicht mehr so.
---
Ich bin ein kleiner, schnickeldischnuckeliger Tiger aus dem Schwarzwald.
Alle haben mich ganz dolle lila lieb.
#10
geschrieben 01. Mai 2019 - 16:44
Zitat (joe13: 30. April 2019 - 22:23)
Für mich war das halt die Fragestellung hier für Windows 7 und ich nutzte das so schon immer und nutze das auch in Windows 10 noch so, bzw. könnte es so nutzen, wenn ich auf den Knopp da auf Sleep klickte, den ich schon ewig habe.
Aber eigentlich lauf ich einfach vom PC weg und der geht nach 5 Minuten wie von Geisterhand von selber aus, wenn er nix rechnet oder aufnimmt und wecke den mit Maus und oder Tastatur.
Also eigentlich alle PCs hier.
Weiß nicht, mein Handy lege ich auch einfach weg, und das geht dann halt nach einer Minute aus, das fahre ich nicht aktiv jedesmal runter. Wozu?
Ich sehe keinen Sinn darin, den PC "runterzufahren" damit er durch Schnellstart immer langsamer "da" sein wird, als mit Standby.
Gibts sowas bei Handys für Nachts? Oder bei TVs? Ruhemodus und bootet aber dann nach mit allen Apps in 10 Sekunden komplett durch?
Ich bin zu blöd für Powershell und komplizierte Scripte und .exe Dateien wenn ichs einfacher haben kann.
Wie gesagt, ich machs dann halt falsch, aber macht in dem Fall, wie ich es eben gerne hätte.
Dieser Beitrag wurde von Candlebox bearbeitet: 01. Mai 2019 - 16:48
#11
geschrieben 01. Mai 2019 - 16:48
powercfg -h off rundll32.exe powrprof.dll,SetSuspendState
Das führt immer zum Sleep Modus, weil Hybernation nicht mehr zu Verfügung steht. Die Funktion nimmt dann das Einzige, was noch geht und das ist Sleep.
---
Ich bin ein kleiner, schnickeldischnuckeliger Tiger aus dem Schwarzwald.
Alle haben mich ganz dolle lila lieb.
#12
geschrieben 01. Mai 2019 - 17:05
Zitat (DK2000: 01. Mai 2019 - 16:48)
powercfg -h off rundll32.exe powrprof.dll,SetSuspendState
Das führt immer zum Sleep Modus, weil Hybernation nicht mehr zu Verfügung steht. Die Funktion nimmt dann das Einzige, was noch geht und das ist Sleep.
Ja, deswegen hab ich das ja auch so gemacht. :-)
Zitat (DK2000: 01. Mai 2019 - 16:21)
In der Powershell funktioniert es:
Add-Type -AssemblyName System.Windows.Forms [System.Windows.Forms.Application]::SetSuspendState(0,1,0)
Da übernimmt er die Werte korrekt und das System geht trotz powercfg -h on nur in den Sleep Modus. 1,1,0 würde Hybernation bewirken. über rundll32 funktioniert das irgendwie nicht mehr so.
Hab da jetzt mal kurz gegoogled, ich wäre dafür schon wieder zu blöde eine schnelle Verknüpfung zu basteln
#13
geschrieben 01. Mai 2019 - 17:20
Danke für Eure Hilfe.
#14
geschrieben 01. Mai 2019 - 17:38
Eigentlich, so dachte ich, wissen die sowas von selber besser seit 2K/XP/Vista, wenn man da gar nix dran macht, weil sie evtl noch Updates fertig ziehen oder gar installieren, wenn sie merken, daß der PC gerade nicht benutzt wird, als wenn man Ihnen ständig befiehlt zu schlafen und auch noch den Strom wegnimmt.
Vielleicht habe ich deswegen so wenige Probleme, weil die bei mir machen dürfen was Sie für Ihr wohlbefinden für richtig halten und ich, wie die Sau vom Trog einfach weglaufe.
#15
geschrieben 01. Mai 2019 - 17:40
Das müsste man in eine *.ps1 Datei speichern, z.B. sleep.ps1.
Ausführen könnte man es dann im einfachsten Fall mit:
PowerShell.exe -Command "& 'C:\Test\sleep.ps1'"
bzw. mit
PowerShell.exe -ExecutionPolicy Bypass -Command "& 'C:\Test\sleep.ps1'"
Da kann man sich dann auch einen Link zurechtbasteln.
Und warum man so etwas braucht? Habe dafür die Sleep-Taste am Gerät. Benutze ich auch häufig, wenn gerade nichts gemacht wird und ich kurz weggehe. Dann versetze ich auch gerne sofort das Gerät in den Sleep Modus. Ist wohl Gewohnheitssache.
---
Ich bin ein kleiner, schnickeldischnuckeliger Tiger aus dem Schwarzwald.
Alle haben mich ganz dolle lila lieb.
- ← Windows 7 installieren auf MSI GT83 Titan 8RF
- Windows 7 - System & Software
- 01/2020 - Abkehr von Windows als Hauptsystem →