hannsgmaulwurf
Goto Top

Windows 10 Energiesparmodus per Skript konfigurieren

Hallo zusammen,

gibt es eine Möglichkeit, den Energiesparmodus von Windows 10 schneller anzupassen als jedesmal in die Energieoptionen zu gehen und dort die Zeit für den Energiesparmodus einzustellen (Systemsteuerung\Alle Systemsteuerungselemente\Energieoptionen\Energiesparplaneinstellungen bearbeiten --> Energiesparmodus nach XX Minuten)?
Und vielleicht auch das Abschalten des Bildschirms (Systemsteuerung\Alle Systemsteuerungselemente\Energieoptionen\Energiesparplaneinstellungen bearbeiten --> Bildschirm ausschalten: XX Minuten)?

Hintergrund meiner Frage ist folgender: Standardmäßig sollen die Rechner z.B. nach 1 Stunde in den Energiesparmodus gehen. Nun kommt es zb. vor, dass in Workshops ein Diagramm o.Ä. per Beamer an die Wand geworfen wird, worüber die Teilnehmer diskutieren. Dann ist es doof, wenn der Rechner mit in der Gesprächsrunde einschläft (oder der Bildschirm abschaltet) bzw. der Tutor immer mal wieder an der Maus wackeln oder vorher manuell die Zeit bis zum Energiesparmodus hochsetzen oder den Modus ganz deaktivieren muss.

Ich habe einige Befehle gefunden, die per Skript den Rechner in den Energiesparmodus versetzen, aber darum geht es mir (diesmal) nicht.

Ich stelle mir (einen) CMD Befehl(e) vor, den/die man in ein kleines Skript verpackt. Einfach Skript doppelt klicken, gewünschte Zeit eingeben oder deaktivieren ("niemals") wählen und fertig.

Es handelt sich um PCs mit Windows 10 Pro 64 Bit und aktuellem Update Stand (08/2017).

Danke für eure Tipps und Ideen face-smile

Content-Key: 346477

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

Printed on: April 23, 2024 at 22:04 o'clock

Member: anteNope
anteNope Aug 16, 2017 at 22:07:40 (UTC)
Goto Top
Wenn es um Notebooks geht, nutzt einfach den Präsentationsmodus =)

00

01

Wenn es um Desktop-Rechner geht, kann man den Präsentationsmodus per Registry freischalten =)
Member: BassFishFox
Solution BassFishFox Aug 16, 2017 updated at 23:44:54 (UTC)
Goto Top
Hallo,

Das niedliche
POWERCFG -Change -monitor-timeout-ac 15

hilft garnicht? https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx

Ich habe vor langer Zeit mit Autoit experimentiert und mir einen einfachen Mausschubser zusammen geschustert. Das Teil kompiliert und ausgefuehrt bewegt den Mauszeiger alle 9 Minuten um 1 px hoch und runter. Haben wir unter XP und W7 benutzt. Ob der mit W10 noch funktioniert musst Du herausfinden. Ja klappt noch. face-smile

#Include <Date.au3>
Opt("TrayMenuMode",1)  
Opt("TrayOnEventMode",1)  

TraySetClick(16)
$exititem   = TrayCreateItem("Exit")  
TrayItemSetOnEvent(-1,"_ExitScript")  
$x = 1
while 1
    sleep(1000)
    $t = _NowTime(4)
    if $x = 540 Then ;resets $x so timer is set to 9 minutes. ($x = 60 is one minute)
        $m = MouseGetPos()
        MouseMove($m, $m[1]+1)
        MouseMove($m, $m[1])
        $x = 1 
    endif   
    $x = $x+1
    if $t > "18:00" or $t = "18:00" then _ExitScript() ;after 6 PM kill mousemove  
WEnd    

func _ExitScript()
    Exit
EndFunc

Das hier ist der grosse Bruder

https://www.autoitscript.com/forum/topic/152381-screensaver-sleep-lock-a ...

BFF
Member: hannsgmaulwurf
hannsgmaulwurf Aug 21, 2017 at 07:08:02 (UTC)
Goto Top
Hallo zusammen und Danke für eure Ideen.

@anteNope: Wenn ich das richtig sehe, kann man im Präsentationsmodus nur "dauerhaft an" einstellen, aber nicht, dass z.B. nach 3 Stunden in den Energiesparmodus gewechselt werden soll und nicht nach 1 Stunde..

@BassFishFox: Das ist natürlich auch ein interessanter Ansatz, werde mir das Skript gleich mal raubkopieren und testen face-smile
Member: anteNope
anteNope Aug 21, 2017 at 09:03:11 (UTC)
Goto Top
Zitat von @hannsgmaulwurf:
Wenn ich das richtig sehe, kann man im Präsentationsmodus nur "dauerhaft an" einstellen, aber nicht, dass z.B. nach 3 Stunden in den Energiesparmodus gewechselt werden soll und nicht nach 1 Stunde..

Nein die Energie-Einstellungen für Standby usw. bleiben wie eingestellt erhalten. Der Präsentationsmodus setzt nur diese außer Kraft.
Du wolltest die doch nach einer Stunde im Standard in den Standby schicken. So kann der Benutzer bei einer Präsentation selbst, das Verhalten "überschreiben" und muss eben nicht die Energie-Einstellungen verstellen ;)
Member: hannsgmaulwurf
hannsgmaulwurf Aug 21, 2017 at 09:10:56 (UTC)
Goto Top
Ja klar aber ich hatte das so verstanden (nicht ausprobiert), dass der user mit diesem Modus die 1 Stunde außer kraft setzt und der Computer dann solange anbleibt, bis der Präsentationsmodus wieder vom User deaktiviert wird, oder nicht?
Member: hannsgmaulwurf
hannsgmaulwurf Aug 21, 2017 at 10:05:07 (UTC)
Goto Top
Ich komme bei dem Thema wie so oft mal wieder vom hundertsten ins tausendste... face-smile
Bevor ich das AutIt Skript anpasse wollte ich es mit POWERCFG versuchen und nun habe ich ein kleines OffTopic Problem:
Auf allen Windows 10 Rechnern die ich jetzt angeschaut habe gibt es im Startmenü neben "Herunterfahren" und "Neustarten" auch "Energie sparen". Nun habe ich hier einen Rechner, der diese option nicht anbietet. Es gibt lediglich die Option "Ruhezustand". Auch in den Energieoptionen ist "Energie sparen" nicht aktivierbar:
2017-08-21_12h02_16

Hat da jemand eine Idee?

Und
Member: anteNope
Solution anteNope Aug 21, 2017 updated at 10:50:48 (UTC)
Goto Top
Hier ein paar Vermutungen:
  • Im Bios ist steht die Einstellung auf deaktiviert
  • Im Bios ist die falsche Einstellung gewählt
  • Sind alle Gerätetreiber installiert?
  • Irgend ein Gerätetreiber verhindert Standby, weil er dies nicht unterstützt

Das mit dem Präsi-Modus hast du vollkommen richtig verstanden =) Manuell an und manuell aus.
Member: hannsgmaulwurf
hannsgmaulwurf Aug 21, 2017 at 11:00:06 (UTC)
Goto Top
BIOS ist ein gutes Stichwort, werde ich mal prüfen.
Präsi-Modus an und aus kommt nur bedingt infrage, da ich u.a. die Möglichkeit brauche, gelegentlich ein Bild in einem Schaufenster anzuzeigen und der Computer bspw. zwei Stunden nach Ladenschluss abschalten soll und da ist ja dann keiner mehr, der den Präsi-Modus deaktivieren kann.
Member: BassFishFox
BassFishFox Aug 21, 2017 at 11:06:49 (UTC)
Goto Top
Halllo,

Neben dem schon genannten BIOS solltest Du daran denken, dass mach Geraet unter W10 einfach keine Energiespar-Option mit sich bringt. Wie z.B. meins. face-big-smile

BFF
Member: hannsgmaulwurf
hannsgmaulwurf Aug 21, 2017 at 11:38:59 (UTC)
Goto Top
Hbas gefunden, war tatsächlich im BIOS deaktiviert face-smile
Nun also zurück zum eigentlichen Thema, werde jetzt mal mit POWERCFG rumspielen.
Member: BassFishFox
BassFishFox Aug 21, 2017 at 11:45:01 (UTC)
Goto Top
Na dann los. face-smile

Melde Dich wieder, wenn Deine Scripterei ferdich ist. face-wink

BFF
Member: hannsgmaulwurf
hannsgmaulwurf Aug 21, 2017 at 14:28:27 (UTC)
Goto Top
Sooo...
Klappt super mit POWERCFG. Genau so, wie ich es mir vorgestellt habe face-smile

Diese Befehle ändern die Zeit für den Energiesparmodus:
powercfg -change -standby-timeout-ac MINUTEN
powercfg -change -standby-timeout-dc MINUTEN
Ich nehme mal an, dass einer für Batteriebetrieb und einer für Betrieb mit Netzkabel ist und habe einfach beide angewendet.

Habe mir auch gleich ein kleines Skript mit GUI gebastelt, kompiliert und die exe auf den Desktops verteilt. Wer interesse hat, hier der Code:
#include <file.au3>
#include <MsgBoxConstants.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

;Fenster
	$FormPowercfg = GUICreate("Powercfg", 340, 150, -1, -1)  
;Bereich Minuten
	$ComboMinuten = GUICtrlCreateCombo("0", 137, 15, 40, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))  
	GUICtrlSetData($ComboMinuten, "1|2|3|5|10|15|20|25|30|45", "0")  
	$Label1 = GUICtrlCreateLabel("Energiesparmodus nach", 15, 20, 118, 17)  
	$Label2 = GUICtrlCreateLabel("Minuten", 183, 20, 44, 17)  
	$ButtonAnwendenMinuten = GUICtrlCreateButton("Anwenden", 240, 15, 75, 25)  
;Bereich Stunden
	$ComboStunden = GUICtrlCreateCombo("0", 137, 55, 40, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))  
	GUICtrlSetData($ComboStunden, "1|2|3|4|5", "0")  
	$Label3 = GUICtrlCreateLabel("Energiesparmodus nach", 15, 60, 118, 17)  
	$Label4 = GUICtrlCreateLabel("Stunden", 183, 60, 44, 17)  
	$ButtonAnwendenStunden = GUICtrlCreateButton("Anwenden", 240, 55, 75, 25)  
;Infotext
	$Label5 = GUICtrlCreateLabel("0 = Energiesparmodus deaktivieren", 15, 120, 170, 17)  
;Button Abbrechen
	$ButtonAbbrechen = GUICtrlCreateButton("Abbrechen", 240, 95, 75, 50)  
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $ButtonAbbrechen
			Exit
		Case $ButtonAnwendenMinuten
			_PowercfgChangeStandbyTimeoutMinuten()
			Exit
		Case $ButtonAnwendenStunden
			_PowercfgChangeStandbyTimeoutStunden()
			Exit
	EndSwitch
WEnd

Func _PowercfgChangeStandbyTimeoutMinuten()
	$Minuten = GUICtrlRead($ComboMinuten)
	Run (@ComSpec & " /c powercfg -change -standby-timeout-ac " & $Minuten)  
	Run (@ComSpec & " /c powercfg -change -standby-timeout-dc " & $Minuten)  
	If $Minuten > 0 Then
		MsgBox(0,"Powercfg", "Energiespareinstellungen angepasst:" & @CRLF & @CRLF & "Energiesparmodus nach " & $Minuten & " Minuten.", 10)  
	Else
		MsgBox(0,"Powercfg", "Energiespareinstellungen angepasst:" & @CRLF & @CRLF & "Energiesparmodus deaktiviert.", 10)  
	EndIf
EndFunc

Func _PowercfgChangeStandbyTimeoutStunden()
	$Stunden1 = GUICtrlRead($ComboStunden)
	$Stunden2 = $Stunden1 * 60
	Run (@ComSpec & " /c powercfg -change -standby-timeout-ac " & $Stunden2)  
	Run (@ComSpec & " /c powercfg -change -standby-timeout-dc " & $Stunden2)  
	If $Stunden1 > 0 Then
		MsgBox(0,"Powercfg", "Energiespareinstellungen angepasst:" & @CRLF & @CRLF & "Energiesparmodus nach " & $Stunden1 & " Stunden.", 10)  
	Else
		MsgBox(0,"Powercfg", "Energiespareinstellungen angepasst:" & @CRLF & @CRLF & "Energiesparmodus deaktiviert.", 10)  
	EndIf
EndFunc

Kann gerne auch die kompilierte EXE zur Verfügung stellen aber weiß nicht, ob das hier geht und/oder erlaubt ist.

Also nochmals besten Dank an alle Tippgeber und vor allem an dich BFF für den entscheidenden Tipp mit dem Befehl POWERCFG!!
Member: BassFishFox
BassFishFox Aug 21, 2017 updated at 14:33:40 (UTC)
Goto Top
Bitte. face-smile

Ich nehme mal an, dass einer für Batteriebetrieb und einer für Betrieb mit Netzkabel ist und habe einfach beide angewendet.

Richtig.

Kann gerne auch die kompilierte EXE zur Verfügung stellen aber

Die EXE kann sich jeder selbst kompilieren. face-smile

Schoen das es funktioniert. face-smile

BFF
Member: hannsgmaulwurf
hannsgmaulwurf Aug 21, 2017 updated at 14:36:57 (UTC)
Goto Top
Naja für jemanden der genau das sucht aber sonst keine große Ahnung von Autoit hat usw. wäre eine downloadbare EXE schon einfacher (bequemer).
Wie markiere ich den Thread als gelöst? Bzw. steht oben ja schon glöst daneben, vermutlich weil ich bei euren Tipps auf "Zur Lösung beigetragen" geklickt habe, oder? Reicht das?
Member: BassFishFox
BassFishFox Aug 21, 2017, updated at Aug 22, 2017 at 21:29:54 (UTC)
Goto Top
Naja für jemanden der genau das sucht aber sonst keine große Ahnung von Autoit hat usw. wäre eine downloadbare EXE schon einfacher (bequemer).

Der soll sich halt in AutoIT einlesen. face-wink Ist doch so schwer nicht.

Wie markiere ich den Thread als gelöst? Bzw. steht oben ja schon glöst daneben, vermutlich weil ich bei euren Tipps auf "Zur Lösung beigetragen" geklickt habe, oder? Reicht das?

Ja. face-smile
Member: hannsgmaulwurf
hannsgmaulwurf Aug 21, 2017 at 14:44:29 (UTC)
Goto Top
Der soll sich halt in AutoIT einlesen. face-wink
Naja das finde ich etwas "arrogant". Der Bäcker sagt ja auch nicht "hier haste das Rezept, back dir selber dein Zweibelbrot"...
So ein Forum soll ja auch dazu beitragen, dass Leute schnelle Lösungen für ihre Probleme finden und wenn man eben nur auf der Suche nach einem kleinen Programm ist, freut man sich doch, wenn es das in dieser Form schon gibt und man es download kann ohne große Umstände.
Member: BassFishFox
BassFishFox Aug 21, 2017, updated at Aug 22, 2017 at 21:30:18 (UTC)
Goto Top
Das ist nich arrogant.

Es ist ueblich, gerade wenn der Quellcode fuer etwas da ist, selbst zu kompilieren. Ausserdem kann ja keiner wissen, dass Du oder ich wirklich nur das was im Quellcode steht kompiliert haben.

Wenn Du wirklich willst, dass irgendwer Deine EXE herunter laden kann, dann stell das Ding doch bei Github oder AutoIT online und leg hier einen Wissensbeitrag mit Deiner Loesung an plus dem Verweis auf den Onlinespeicher.

BFF
Member: hannsgmaulwurf
hannsgmaulwurf Aug 22, 2017 updated at 20:31:56 (UTC)
Goto Top
Ausserdem kann ja keiner wissen, dass Du oder ich wirklich nur das was im Quellcode steht komiliert haben.
Da hast du natürlich Recht, ich würde auch keine "exe von irgendjemand" runterladen. face-wink

und leg hier einen Wissensbeitrag mit Deiner Loesung an
Gute Idee, habe ich direkt mal gemacht:
Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen
Member: BassFishFox
BassFishFox Aug 22, 2017 at 21:30:42 (UTC)
Goto Top
Sieht gut aus. face-smile

BFF