none
Sleep Mode verhindern RRS feed

  • Frage

  • Hallo!

    Habe ein Powershell Script, dass einige Zeit benötigt.

    Kann ich einen Event generieren, dass sich Windows nicht schlafen legt ?

    Die Simulation einer Tastatureingabe oder einer Mausbewegung gefällt mir dazu nicht sehr gut.

    Danke für eure Tipps.

    Erhy


    Dienstag, 21. Januar 2020 21:19

Antworten

  • Von der Sendkey-Lösung rate ich ab, die ist nach meiner Erfahrung zu unberechenbar. Was wenn auf dem Monitoring-Rechner z.b. ein Popup von Windows oder einem anderen Tool aufpoppt, das deinen Tastendruck akzeptiert? Vielleicht als "Ja" interpretiert? Das kann so richtig ins Auge gehen.

    Ganz nervig wirds wenn der Rechner lokal oder remote noch interaktiv benutzt werden soll, dann tippt das Skript immer irgendwo rein oder wählt etwas aus. Es gibt auch leider keine Taste (auch nicht STRG etc) die nicht dazwischen funken würde.

    Ich hab damals nach langem rumprobieren, wenn ich mich recht erinnere, etwas in dieser Art: LINK erfolgreich benutzt.

    Grüße, Denniver


    Blog: http://www.bytecookie.de

    Powershell Code Manager: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    • Als Antwort vorgeschlagen Patrick WahlmüllerMVP Mittwoch, 22. Januar 2020 15:37
    • Als Antwort markiert Erhy Mittwoch, 22. Januar 2020 22:56
    Mittwoch, 22. Januar 2020 12:59
    Moderator

Alle Antworten

  • Hallo Erhy,

    Ich habe gerade den Thread ins passende Forum verschoben. Würdest Du der Übersichtlichkeit halber das Skript veröffentlichen?

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 22. Januar 2020 11:50
  • Die Simulation einer Tastatureingabe oder einer Mausbewegung gefällt mir dazu nicht sehr gut.

    Warum nicht? Das ist immer noch das einfachste. Alternativ müsstest Du die Energie-Einstellungen anpassen oder eine Dialogbox finden, die, so lange sie aktiv ist, den Inaktivitätszähler unterbricht.

    Wir verwenden hier folgenden Schnipsel:

    #SendKeys
    $MyShell = New-Object -com "Wscript.Shell"
    
    while ((get-date).Hour -lt 17) {
        Start-Sleep -Seconds 90
        $MyShell.SendKeys(".")
    }
    
    & shutdown /s
    Das hält unseren Monitoring-Monitor aktiv. 17:00 Uhr machen wir Feierabend, dann wird die Kiste heruntergefahren.


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    Mittwoch, 22. Januar 2020 12:11
  • Von der Sendkey-Lösung rate ich ab, die ist nach meiner Erfahrung zu unberechenbar. Was wenn auf dem Monitoring-Rechner z.b. ein Popup von Windows oder einem anderen Tool aufpoppt, das deinen Tastendruck akzeptiert? Vielleicht als "Ja" interpretiert? Das kann so richtig ins Auge gehen.

    Ganz nervig wirds wenn der Rechner lokal oder remote noch interaktiv benutzt werden soll, dann tippt das Skript immer irgendwo rein oder wählt etwas aus. Es gibt auch leider keine Taste (auch nicht STRG etc) die nicht dazwischen funken würde.

    Ich hab damals nach langem rumprobieren, wenn ich mich recht erinnere, etwas in dieser Art: LINK erfolgreich benutzt.

    Grüße, Denniver


    Blog: http://www.bytecookie.de

    Powershell Code Manager: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    • Als Antwort vorgeschlagen Patrick WahlmüllerMVP Mittwoch, 22. Januar 2020 15:37
    • Als Antwort markiert Erhy Mittwoch, 22. Januar 2020 22:56
    Mittwoch, 22. Januar 2020 12:59
    Moderator
  • Was wenn auf dem Monitoring-Rechner z.b. ein Popup von Windows oder einem anderen Tool aufpoppt, das deinen Tastendruck akzeptiert? Vielleicht als "Ja" interpretiert? 

    ... 'ist in meinem Fall überhaupt gar kein Problem, aber wenn's was Besseres gibt, isses ja noch besser.  ;-)  

    Danke für den Link.


    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    Mittwoch, 22. Januar 2020 13:07
  • Hier gibts auch eine Diskussion:
    https://administrator.de/forum/windows-10-energiesparmodus-skript-konfigurieren-346477.html

    Interessant auch der Ansatz, den Mauszeiger mal zu bewegen.

    Mittwoch, 22. Januar 2020 17:46
  • Danke Denniver!

    Da ich kein weiteres Programm im PowerShell Script starten möchte, probiere ich es 
    mit einem wiederholten Aufruf von

    $ste::SetThreadExecutionState( $ES_SYSTEM_REQUIRED)

    gemäß der Doku
    https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setthreadexecutionstate

    sollte es auch periodically funktionieren

    Erhy

    Samstag, 25. Januar 2020 13:10