PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Win 10 - Event ID Monitor Standby/Sleep


Screemer
2017-06-26, 15:03:56
Hi

ich möchte mit der aufgabenplanung einen task erstellen, der beim deaktivieren des monitors eine batch startet. leider finde ich keine möglichkeit dafür. was ich versucht habe ist die überwachung des bildschirmschoners zu aktivieren. leider gibt das allerdings keinen eintrag im eventlog, wenn der bildschirm in standby geht.

GPEdit: Windows Einstellungen -> Sicherheitseinstellungen ->Erweiterte Überwachungsrichtlinine -> Systemüberwachungsrichtlinien -> Anmelden/Abmelden -> Andere Anmelde-/Abmeldeereignisse überwachen


Andere Anmelde-/Abmeldeereignisse

Mithilfe dieser Richtlinieneinstellung können Sie andere Ereignisse bezüglich Anmeldungen/Abmeldungen überwachen, die nicht durch die Richtlinieneinstellung "An-/Abmeldung" abgedeckt werden. Dazu zählt Folgendes:
Trennen von Terminaldienstesitzungen
Neue Terminaldienstesitzungen
Sperren und Entsperren einer Arbeitsstation
Aufrufen eines Bildschirmschoners


dann gibts noch Kerne-Power mit
event ID 42 ist die id für das gehen in standby/sleep des ganzen PCs
event ID 1 ist die id für das aufwachen aus diesem


Task Scheduler -> Create Task -> "Trigger" tab -> New -> "Begin the task:" -> "On Idle"

ist auch ne möglichkeit. da kann es jedoch sein, dass es bis zu 15 minuten dauert bis die batchfile ausgeführt wird. aus folgendem grund:

The Task Scheduler service will check if the computer is in an idle state every 15 minutes. A computer is considered to be in an idle state when a screen saver is running. If a screen saver is not running, then the computer is considered to be in an idle state if there is 0% CPU usage and 0% disk input or output for 90% of the past fifteen minutes and if there is no keyboard or mouse input during this period of time.


Gibt es eine Richtlinie um nen eventlog eintrag für display standby zu bekommen oder hat einer noch ne andere idee?

Zafi
2017-06-27, 11:25:17
Du könntest eine Aufgabe erstellen, mit dem Trigger, dass die Aufgabe ausgeführt wird, wenn der PC im Leerlauf ist. Und unter Bedingungen könntest du zusätzlich definieren, dass die Aufgabe erst dann ausgeführt wird, wenn der PC eine bestimmte Zeit lang im Leerlauf ist (z.B. X Minuten).

Wenn also der Monitor nach 20 Minuten aus geht, dann stell auch für die Aufgabe 20 Minuten ein. Fertig.

Screemer
2017-06-27, 11:45:24
Das funktioniert leider nicht wie ich das möchte. Die batch soll sofort und immer nach dem moni standby gestartet werden. Macht ich das über die aufgabenplanung kann es vorkommen, dass der task erst 15 Minuten später ausgeführt wird. Das liegt daran, dass der task Scheduler nur alle 15 Minuten den idle state abfragt.

Ich werds jetzt so lösen, dass ich nach 1 minute einen bildschirmschoner auslöse und nach 80 Sekunden den display standby. 80 Sekunden deshalb, weil der standby immer schon nach ca. 48-52 Sekunden ausgelöst wird, auch wenn er auf 1 minute steht. Dadurch triggert natürlich auch der Bildschirmschoner nicht mehr.

Das starten des Schoners löst ein event aus und durch das kann ich mein powershell script mit dem task Scheduler starten.

Direkter weg wäre mir lieber, geht aber so auch.

Zafi
2017-06-27, 12:49:32
Was ist denn der genaue Hintergrund? Für was brauchst du das? Denn vielleicht gibt es auch einen anderen Weg.

Screemer
2017-06-27, 14:11:50
ich will ein programm öffnen sobald der bildschirm in standby geht. das ist eigentlich schon alle :) das soll solange laufen wie der bildschirm aus ist.

über das event 4802 kann ich zumindest abfragen wann der screensaver angeht und das programm dann starten und anschließend manuell beenden. 4803 wäre screensaver dismissal aber das steht im log sobald der bildschirm in standby geht.

Zafi
2017-06-27, 15:27:40
ich will ein programm öffnen sobald der bildschirm in standby geht. das ist eigentlich schon alle :) das soll solange laufen wie der bildschirm aus ist.

Das habe ich schon verstanden. Aber was genau willst du da machen und warum? Eine Alternative Lösung zu finden ist schwer, wenn man nicht weiß, wozu das eigentlich gut sein soll.

Es klingt so, als ob du den Regelbetrieb nicht stören willst. So könntest du also zum Beispiel die gewünschte Anwendung auch ständig laufen lassen und zwar mit geringer Priorität. So würde sie den Regelbetrieb nicht stören. Da ich aber nicht weiß, was du genau machen willst, weiß ich auch nicht, ob diese Lösung für dich passend ist oder nicht.