Per Batch (oder anders) feststellen ob Rechner Aufgeweckt wurde oder schon lief
Hallo Leute,
starte per Aufgabenplanung täglich ein Script welches Daten von einer externen Quelle abruft.
Dazu lasse ich den Computer, falls aus, Aufwecken und schick ihn mit dem Script auch wieder schlafen.
Leider geht der Computer auch in den Schlafmodus wenn ich daran arbeite! Wenn der Rechner aus war (z.B. ich bin Unterwegs oder sowas) soll er danach auch wieder Schlafen gehen, sonst nicht!
Kann ich irgendwie feststellen ob der Rechner aufgeweckt wurde bzw. der Task bei schon laufendem Betrieb aufgerufen wurde??
So könnte ich dann per Variable oder sonstwie das Schlafenschicken verhindern.
Thx und Greetz
meier
starte per Aufgabenplanung täglich ein Script welches Daten von einer externen Quelle abruft.
Dazu lasse ich den Computer, falls aus, Aufwecken und schick ihn mit dem Script auch wieder schlafen.
Leider geht der Computer auch in den Schlafmodus wenn ich daran arbeite! Wenn der Rechner aus war (z.B. ich bin Unterwegs oder sowas) soll er danach auch wieder Schlafen gehen, sonst nicht!
Kann ich irgendwie feststellen ob der Rechner aufgeweckt wurde bzw. der Task bei schon laufendem Betrieb aufgerufen wurde??
So könnte ich dann per Variable oder sonstwie das Schlafenschicken verhindern.
Thx und Greetz
meier
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 185295
Url: https://administrator.de/forum/per-batch-oder-anders-feststellen-ob-rechner-aufgeweckt-wurde-oder-schon-lief-185295.html
Ausgedruckt am: 22.04.2025 um 20:04 Uhr
8 Kommentare
Neuester Kommentar
hi,
ich gehe mal von Windows 7 aus: grundsätzlich hilft ein Blick in die Ereignisprotokolle.
Aber du kannst ganz einfach per Powershellscript die Ereignisse abfragen. Bei Hoch- und Runterfahren sind "Microsoft-Windows-Kernel-General" Eventd mit den IDs 12 und 13 interessant, beim Standby und Ruhezustand weiß ich es nicht, müsstest du rausfinden.
Ich benutze diesen Einzeiler um die letzten 10 Hoch- und runterfahren Ereignisse kurz in einem Fenster anzuzeigen:
Das der Rechner sich beim Arbeiten, also wenn du Eingaben machst, in den Ruhezustand/Standby fährt sollte nicht sein und ist ungewöhnlich. Aber auch hier hilft evtl. ein Blick in die Ereignisanzeige.
Grüße
ich gehe mal von Windows 7 aus: grundsätzlich hilft ein Blick in die Ereignisprotokolle.
Aber du kannst ganz einfach per Powershellscript die Ereignisse abfragen. Bei Hoch- und Runterfahren sind "Microsoft-Windows-Kernel-General" Eventd mit den IDs 12 und 13 interessant, beim Standby und Ruhezustand weiß ich es nicht, müsstest du rausfinden.
Ich benutze diesen Einzeiler um die letzten 10 Hoch- und runterfahren Ereignisse kurz in einem Fenster anzuzeigen:
Get-EventLog System -Source "Microsoft-Windows-Kernel-General" | where {$_.Instanceid -match "12|13"} | select -first 10
Das der Rechner sich beim Arbeiten, also wenn du Eingaben machst, in den Ruhezustand/Standby fährt sollte nicht sein und ist ungewöhnlich. Aber auch hier hilft evtl. ein Blick in die Ereignisanzeige.
Grüße
Zitat von @Connor1980:
Das der Rechner sich beim Arbeiten, also wenn du Eingaben machst, in den Ruhezustand/Standby fährt sollte nicht sein und ist
ungewöhnlich. Aber auch hier hilft evtl. ein Blick in die Ereignisanzeige.
Das der Rechner sich beim Arbeiten, also wenn du Eingaben machst, in den Ruhezustand/Standby fährt sollte nicht sein und ist
ungewöhnlich. Aber auch hier hilft evtl. ein Blick in die Ereignisanzeige.
<Kristallkugel>
Ich gehe mal davon aus, daß der TO meinte, sein Skript fährt seinen Rechner gnadenlos herunter, weil das Skript so eingestellt ist. Daher will er vermutlich auch feststellen, ob der Rechner vorher an war, damit das Skript dann eben den Rechner nicht herunterfährt.
</Kristallkugel>
Unter Unixoiden Systemen kann man die Uptime mit
uptime
Sollte das Gerät schon länger als, sagen wir mal, 10 Minuten laufen, war es vermutlich vor dem Skriptstart schon an und wurde nicht aufgeweckt.
lks
Zitat von @Lochkartenstanzer:
> Zitat von @Connor1980:
> ----
Unter Unixoiden Systemen kann man die Uptime mit uptime abfragen. Für Windows kann man
entweder die passenden Befehele heraussuchen (für verschiedene versionen verschiedene Möglichkeiten), oder einfach ein
externes tool wie uptime.exe verwenden.
unter 7 tuts ein > Zitat von @Connor1980:
> ----
Unter Unixoiden Systemen kann man die Uptime mit uptime abfragen. Für Windows kann man
entweder die passenden Befehele heraussuchen (für verschiedene versionen verschiedene Möglichkeiten), oder einfach ein
externes tool wie uptime.exe verwenden.
systeminfo | find "Systemstartzeit"
oder ein Blick in den Taskmanager, Reiter Leistung, im Feld System: Laufzeit
Sollte das Gerät schon länger als, sagen wir mal, 10 Minuten laufen, war es vermutlich vor dem Skriptstart schon an und wurde nicht aufgeweckt.
wohl wahr, Wege die zum Ziel führen gibt es viele
Grüße
Hi,
das von mir erwähnte Powershell script etwas erweitert und mit den hier genannten event IDs (Kernel Power 42, PowerTroubleShooter mit ID 1) versehen, sollte dir die gesuchten Infos bringen. (ungetestet)
Grüße
das von mir erwähnte Powershell script etwas erweitert und mit den hier genannten event IDs (Kernel Power 42, PowerTroubleShooter mit ID 1) versehen, sollte dir die gesuchten Infos bringen. (ungetestet)
Grüße
moin meier,
wie viel Zeit wird denn vom Aufwecken bis zum Scriptstart benötigt?
Wenn das Aufwecken den Tatsächlich Geplanten Start um eine/wenige Minute(n) Verzögert, dann kannst Du die Startzeit des Scriptes mit der geplanten Startzeit vergleichen.
Wenn die Differenz weniger als eine Minute ist -> dann kein "Schlafen schicken".
Als Alternative erstellst Du zwei Tasks für die gleiche Zeit bzw. bei schwierigkeiten den 1. eine Minute eher.
[edit] ach ich habs ma andersrum gedreht und Find dazu[/edit]
Gruß Phil
wie viel Zeit wird denn vom Aufwecken bis zum Scriptstart benötigt?
Wenn das Aufwecken den Tatsächlich Geplanten Start um eine/wenige Minute(n) Verzögert, dann kannst Du die Startzeit des Scriptes mit der geplanten Startzeit vergleichen.
Wenn die Differenz weniger als eine Minute ist -> dann kein "Schlafen schicken".
Als Alternative erstellst Du zwei Tasks für die gleiche Zeit bzw. bei schwierigkeiten den 1. eine Minute eher.
Task 1 SendCheck: Nicht Nacholen; Nicht Reaktivieren
C:\Windows\system32\cmd.exe /c "timeout /t 300 /NoBreak &waitfor /Si AndNOShutdown"
Task 2 Batch: Computer Reaktivieren
C:\Windows\system32\cmd.exe /c "waitfor /t 300 AndNOShutdown |find "ERFOLGREICH:" &&echo starte CMD ohne Shutdown ||echo Starte CMD Mit Shudown"
[edit] ach ich habs ma andersrum gedreht und Find dazu[/edit]
Gruß Phil