Wie kann ich herausfinden, wie oft Windows Seven neu gestartet wurde?

12239
Diogo

Wo im System oder in der Registrierung sollte ich nach Daten suchen, wie oft Windows neu gestartet wurde? Ich möchte eine Anwendung erstellen, die diese Informationen verwendet (wie oft Windows seit dem OOBE * -Prozess neu gestartet wurde), um eine bestimmte Funktion zu implementieren.

Ich bin mir sicher, dass Microsoft dies irgendwo implementiert hat. Ich denke an einen Registrierungsschlüssel oder ähnliches.

* OOBE - Out of Box Experience: Dies ist der Vorgang, der auftritt, wenn Sie Windows zum ersten Mal starten und den Benutzer, das Kennwort und die Computernamen einrichten.

18
Durch sorgfältiges Durchlesen der Ereignisprotokolle können Sie dies herausfinden, aber ich glaube nicht, dass es tatsächlich irgendwo protokolliert wird ... hmm. Hoffentlich irre ich mich! Shinrai vor 13 Jahren 0

5 Antworten auf die Frage

17
Connor W

Jeder Start und jedes Herunterfahren wird in den Ereignisprotokollen aufgezeichnet. Öffnen Sie die Ereignisanzeige, und wechseln Sie zum Abschnitt Systemprotokolle. Wenn Sie diese Einträge Filter Current Lognach den Ereignisnummern 12 und 13 filtern ( Schaltfläche rechts verwenden), sollten Sie die Ereignisse darüber informieren, wenn das System heruntergefahren wird und gestartet wird.

Die Ereignis-ID 12 ist das System, das gestartet wird. Die Ereignis-ID 13 ist das Herunterfahren des Systems. Außerdem wird der genaue Zeitpunkt angegeben, zu dem das Ereignis im Ereignis selbst protokolliert wurde.

Sie können Ihre Anwendung dazu veranlassen, die Anzahl der Ereignisse mit der Ereignis-ID 12 zu zählen, die Ihnen das geben soll, was Sie möchten.

Ein guter Gedanke, aber es gibt Vorbehalte: Die Ereignisprotokolle können von einem Benutzer gelöscht werden und sind auf eine maximale Größe beschränkt. Daher wird nicht unbedingt die Gesamtzahl der Neustarts gemeldet, insbesondere wenn es sich um eine alte Installation handelt. rmart vor 13 Jahren 5
@rmart Ich weiß nicht, ob der durchschnittliche Benutzer die Ereignisprotokolle bereinigen würde, aber beide sind faire Punkte. Ich denke, die Verwendung der SMART-Daten wie oben erwähnt ist wahrscheinlich ein besserer Weg, aber das ist auch nicht ohne Vorbehalte. Connor W vor 13 Jahren 0
11
Diogo

Ich habe die Antwort gefunden.

Finden Sie über:

"HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\BootId" 

Der Dezimalwert, den Sie sehen, ist die Anzahl, wie oft Ihr System bereits neu gestartet wurde.

576 mal eine sehr interessante Frage und Antwort. +1 von mir. Joe Taylor vor 13 Jahren 0
7
camster342

Hier ist ein anderer Weg: SMART

Die große Mehrheit der Festplatten speichert heutzutage SMART-Informationen. Es gibt zwei Informationen, die Sie interessieren könnten: 04 Start / Stop Count 12 Power Cycle Count

Lesen Sie den Wikipedia-Artikel zu SMART und möglicherweise die Dokumentation zu smartmontools.

smartmontools ist ein Open-Source-Projekt, das diese Daten in einer CLI abfragen kann, oder es gibt andere Programme, die diese Daten mit verschiedenen GUIs abrufen können: Wikipedia-Liste der SMART-Tools

Ich denke, dass dies wahrscheinlich eine zuverlässigere Methode ist als die Verwendung der Ereignisanzeige, aber es hat auch einige Vorbehalte. Wenn sich das Laufwerk nicht vom ersten Tag an in demselben Computer befunden hat, ohne geändert oder anderweitig verwendet zu werden, erhalten Sie keine genauen Ergebnisse. Ich denke auch, ältere Laufwerke unterstützen S..MART nicht vollständig. Daher finden Sie möglicherweise Laufwerke, die Informationen zum Aus- und Wiedereinschalten aufzeichnen, und andere, die dies nicht tun. Connor W vor 13 Jahren 0
@Connor W: Ich habe vermutet, dass Festplatten, die keine SMART-Informationen aufzeichnen, ziemlich unwahrscheinlich auf einem Rechner sind, der stark genug ist, um Windows 7 auszuführen, aber Sie haben absolut Recht, dass dies nicht der Fall ist beruhte auf. Genau wie der Event Viewer .... camster342 vor 13 Jahren 0
Was ist auch, wenn der Benutzer den Standby-Modus verwendet oder sich die Festplatte aufgrund von Inaktivität ausschaltet? sinni800 vor 13 Jahren 0
@Sinni: Das ist der Unterschied zwischen dem 04-Code und dem 12-Code. 04 ist ein komplettes Festplattenlaufwerk, das Standby-Modus und Energiesparmodus umfasst. In diesem Fall verliert die Festplatte vollständig an Strom, wenn der PC heruntergefahren wird oder in den Ruhezustand wechselt. camster342 vor 13 Jahren 0
2
uSlackr

Überprüfen Sie den Zuverlässigkeits-Manager in Windows 7

Dies sagt nicht wirklich aus, wann der Computer hochgefahren oder heruntergefahren ist. Connor W vor 13 Jahren 3
1
ovann86

Ich habe zwei kurze Skripte geschrieben, die die Anzahl der Einschaltzeiten eines Computers zählen können.

Leider gibt es kein Ereignisprotokoll speziell für Neustarts, nur für das Starten und Herunterfahren von Windows.

Dieses Skript durchsucht das Ereignisprotokoll, für event 12das beim Start von Windows protokolliert wird. Es sagt Ihnen dann, wie oft es gezählt hat.

VBS-Skript: Anzahl, wie oft der Computer eingeschaltet wurde

count = 0 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "!\\" & strComputer & "\root\cimv2") Set colLoggedEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent Where Logfile = 'System'" _ & " and EventCode = '12'") For Each objEvent in colLoggedEvents count = count + 1 Next wscript.echo "Number of times operating system has started: " & count 

VBS-Skript: Remotezählung, wie oft der Computer eingeschaltet wurde:

count = 0 strComputer=InputBox ("Enter the network name for the remote computer") Set objWMIService = GetObject("winmgmts:" _ & "!\\" & strComputer & "\root\cimv2") Set colLoggedEvents = objWMIService.ExecQuery _ ("Select * from Win32_NTLogEvent Where Logfile = 'System'" _ & " and EventCode = '12'") For Each objEvent in colLoggedEvents count = count + 1 Next wscript.echo "Number of times operating system has started: " & count  

Quell- VBS-Skript - Anzahl, wie oft der Computer eingeschaltet wurde

Wenn dies Ihre Website ist, auf die Sie verlinken (die Links, die Sie gerade aktualisiert haben), beachten Sie, dass Sie Ihre Zugehörigkeit dazu angeben müssen. Siehe http://superuser.com/help/behavior slhck vor 10 Jahren 0
@slhck - ja, ich beziehe mich auf meinen persönlichen Blog. Ich war mir dieser Regeln nicht bewusst. Gibt es eine Standardzeile, die ich verwenden sollte, um klar zu machen, dass ich auf Inhalte verweise, die sich auch in meinem persönlichen Blog befinden? Ich habe alle Antworten vor langer Zeit gepostet, als ich Zeit hatte. Ich ändere Domainnamen und möchte die Links aktualisieren, bevor die Domain abläuft. Ich leite mein persönliches Blog, um Dinge aufzuzeichnen, an die ich mich erinnern muss, und um Wissen zu teilen, daher das Crossposting zwischen Superuser. ovann86 vor 10 Jahren 0
Seien Sie bitte explizit und sagen Sie "Mein Blog" oder so. Solange Sie sicherstellen, dass die tatsächlichen Antworten hier enthalten sind, und die Benutzer * nicht * die Website verlassen müssen, um eine Lösung zu erhalten, ist das in Ordnung. Das Hinzufügen von Links für Details ist immer in Ordnung. slhck vor 10 Jahren 1