Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Per Batch (oder anders) feststellen ob Rechner Aufgeweckt wurde oder schon lief

Frage Entwicklung

Mitglied: meier2009

meier2009 (Level 1) - Jetzt verbinden

22.05.2012, aktualisiert 10:52 Uhr, 3360 Aufrufe, 8 Kommentare

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
Mitglied: Lochkartenstanzer
22.05.2012 um 11:53 Uhr
Moin,

Prüf doch einfach, wie lange der Rechner schon läuft (uptime ist das stichwort). Läuft er länger als eine bestimmte zeit, ist die Wahrscheinlichkeit hoch, daß der rechner vorher schon an war.

lks
Bitte warten ..
Mitglied: Connor1980
22.05.2012 um 12:15 Uhr
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:

01.
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
Bitte warten ..
Mitglied: Lochkartenstanzer
22.05.2012 um 12:32 Uhr
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.

<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 
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.

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
Bitte warten ..
Mitglied: Connor1980
22.05.2012, aktualisiert um 13:51 Uhr
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
systeminfo | find "Systemstartzeit"
an der cmd
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
Bitte warten ..
Mitglied: meier2009
22.05.2012 um 15:07 Uhr
@ all :

thx für die ersten info´s und es geht um win 7 pro

gute idee per systeminfo bzw uptime, kannte ich nicht

leider Bootet der Rechner ja nicht, ich geh nur in sleepmode per :

powercfg /hibernate off
rundll32.exe powrprof.dll,SetSuspendState

nach dem wiederaufwecken wird das script dann ja weiter ausgeführt, dann kommt :

powercfg /hibernate on

um den hibernate modus wieder zu aktivieren, falls benötigt.

daher zeigt er auch immer nur die systemzeit seit dem letzten Reboot an!
darum würde ich gerne vor diesem abschnitt ebend rausfinden ob die kiste vorher lief oder aus dem sleepmode geweckt wurde!

da ne idee, bisher auch auf basis eurer ansätze, nichts gefunden...

Greetz
Bitte warten ..
Mitglied: Connor1980
22.05.2012, aktualisiert um 15:17 Uhr
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
Bitte warten ..
Mitglied: Lochkartenstanzer
22.05.2012 um 15:21 Uhr
Dann schalt die Kiste halt ganz ab, spart sogar Strom. Du kannst sie ja zeitgesteuert und/oder per WOL aufwecken. Dann sollte das mit der uptime greifen.

lks
Bitte warten ..
Mitglied: pieh-ejdsch
22.05.2012, aktualisiert um 17:51 Uhr
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.
Task 1 SendCheck: Nicht Nacholen; Nicht Reaktivieren
01.
C:\Windows\system32\cmd.exe /c "timeout /t 300 /NoBreak &waitfor /Si AndNOShutdown"
Task 2 Batch: Computer Reaktivieren
01.
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
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...