PC Laufzeit auslesen unter Windows 10 – Wie lange läuft mein PC schon?

Die Laufzeit des Computers und somit auch der Zeitpunkt des letzten Systemstarts könnte eine Information sein, die wohl nicht nur Administratoren interessiert. Auch für Eltern, die kontrollieren wollen seit wann der Nachwuchs schon vor dem eckigen Kasten oder dem Notebook sitzt, wird es wohl helfen die Laufzeit des Computers anzuzeigen. Auf manchen Seiten wird hierzu eine relativ „einfache“ Methode anhand des Task Managers gezeigt, die aber leider unter Windows 10 zu deutlichen Missverständnissen führen kann. Eine idiotensichere Methode ist dies nämlich ganz und gar nicht und man sollte den Kindern oder Usern nicht aufgrund dieser ausgelesenen Info eine Standpauke halten 😉

Wieso das so ist und wie man die „richtige“ PC-Laufzeit unter Windows 10 anzeigen kann erfährst du in diesem Artikel.

Kurzanleitung für Ungeduldige

Wer keine Zeit hat und sich nicht für die ausführliche Erläuterung interessiert sollte unter einem normal konfigurierten Windows 10, bei welchem der „Hibernate“-Modus nicht deaktiviert worden ist mit folgender Abfrage für die Kommandozeile auf jeden Fall den Zeitpunkt bekommen, zu dem der Computer zuletzt eingeschaltet wurde und hochgefahren ist:

In der Powershell erhält man die gleiche Auskunft so:

Die Laufzeit seit dem letzten Einschalten des Computers kann man durch die Differenz zwischen der aktuellen Zeit (Get-Date) und der Änderungszeit der „hiberfil.sys“ (LastWriteTime) ermitteln:

 

Systemlaufzeit unter Windows 10 auslesen – so einfach?!

Auf den meisten Seiten findet man folgenden einfachen Tipp um die Laufzeit des Computers und den letzten Startzeitpunkt des Computers herauszufinden. Hierzu soll es genügen einfach nur den Task Manager zu öffnen und im Reiter „Leistung“ den Punkt „CPU“ zu öffnen und sich die Betriebszeit anzusehen:

Bevor man nach diesem Anblick allerdings Hausarrest erteilt weil die Kinder anscheinend den PC vier Tage lang durchlaufen ließen oder den Kollegen in der Firma zurechtweist den Computer gefälligst abends auszumachen soll hier gesagt sein, dass diese „Betriebszeit“ nicht dem entspricht was man wohl weitläufig unter dem Begriff verstehen würde. Denn tatsächlich hatte ich meinen Computer erst etwa eine Stunde bevor dieser Screenshot entstanden ist eingeschaltet. Ebenfalls Tools wie AIDA32 zeigen diese abstrus wirkende Betriebszeit für den Computer an:

Warum eine solche merkwürdige Betriebszeit an dieser Stelle steht und warum diese trotzdem korrekt ist folgt im nächsten Abschnitt.

 

Windows 10 und das Ausschalten und Neustarten – Was passiert da wirklich?

Bei Windows 10 gibt es grundsätzlich ein Problem bei diesen Methoden um den letzten Systemstart herauszufinden. Denn seit Einführung von Windows 10 fährt man den Computer, sofern man es nicht aus bestimmten Gründen umkonfiguriert hat, niemals wirklich herunter!

Stattdessen wird der Computer auch mit dem „Herunterfahren“ unter „Beenden“ nicht richtig ausgeschaltet wie noch unter Windows 7 oder Windows 8. Der PC geht seit Windows 8.1 zwar aus, nutzt aber den sogenannten „Hibernate“-Modus um beim nächsten Start schneller zur Verfügung zu stehen.

Hierzu wird der Inhalt des Arbeitsspeichers auf die Festplatte bzw. in die Auslagerungsdatei geschrieben und steht beim nächsten Windows-Start wieder zur Verfügung. Dem ein oder anderen ist vielleicht aufgefallen dass Anwendungen beim nächsten Hochfahren des Rechners nicht unbedingt geschlossen sind. Diese machen dann dort weiter wo man aufgehört hat.

Deshalb sollte man sich für Windows 10 folgendes merken:

(System-)Betriebszeit = die vergangene Laufzeit seit dem letzten „richtigen“ Neustart des Computers

Dieses Verhalten war übrigens auch unter Windows 7 schon nicht anders wenn man den Computer selber in den „Ruhezustand“ versetzt hat und dann erst einige Zeit später wieder eingeschaltet hat. Nur war es hier eher selten, dass man den Computer über Wochen lang immer wieder in den Ruhezustand versetzt hat anstatt ihn irgendwann nach erledigter Arbeit wieder herunterzufahren und auszuschalten.

 

Wann wurde der PC zuletzt eingeschaltet und hochgefahren?

Änderungszeitpunkt der hiberfil.sys (Ruhezustandsdatei) ermitteln

Wie eingangs gezeigt lässt sich auch trotz aktiviertem Hibernate-Modus ermitteln wann der Computer hochgefahren wurde. Hierzu benötigt man nur das Änderungsdatum der für den Ruhezustand verwendeten hiberfil.sys-Datei.

Diesen Änderungszeitpunkt kann man natürlich nicht nur per Kommandozeile oder Powershell ermitteln, sondern auch ganz einfach manuell im Explorer in den Dateiegenschaften herausfinden:

Berücksichtigen muss man allerdings dass die Systemdateien standardmäßig ausgeblendeet sind und man diese nicht automatisch unter Laufwerk C:\ finden wird.

 

Kommandozeile und Powershell

Den Änderungszeitpunkt der hiberfil.sys und somit den Zeitpunkt des letzten Einschaltens/Hochfahrens kann man in der Kommandozeile auch mit folgendem Befehl herausfinden, wie bereits in der Kurzanleitung gezeigt:

In der Powershell könnte man die gleiche Info so ermitteln:

 

Wann wurde der PC zuletzt neu gestartet?

Änderungszeitpunkt der pagefile.sys (Auslagerungsdatei) ermitteln

Wann der Computer richtig neu gestartet worden ist und nicht nur aus dem Ruhezustand geholt worden ist kann man nicht nur im Task Manager erkennen. Wie für das Hochfahren lässt sich dies auch am Änderungszeitpunkt einer Datei erkennen. In diesem Fall anhand der Auslagerungsdatei pagefile.sys die ebenfalls versteckt als Systemdatei unter Laufwerk C:\ liegt:

 

Kommandozeile und Powershell

Den Änderungszeitpunkt der pagefile.sys und somit den Zeitpunkt des letzten richtigen Neustarts kann man in der Kommandozeile auch mit folgendem Befehl herausfinden:

Eine andere Möglichkeit ist dieser Befehl, der allerdings von den Spracheinstellungen des Systems abhängig ist:

In der Powershell geht es so:

 

Wie lange läuft mein PC schon?

Laufzeit des Computers in der GUI ermitteln

Die einfachste Möglichkeit die tatsächliche Laufzeit seit dem letzten Hochfahren in der Windows-Oberfläche zu ermitteln führt über einen kleinen Umweg. Da es im Task Manager keine Extra-Anzeige für die tatsächliche Laufzeit seit dem Einschalten gibt, habe ich mich stattdessen bei den Netzwerkadaptern umgesehen.

Denn hier wird einem angegeben seit wann der Netzwerkadapter mit dem Netzwerk verbunden ist. Dieser Verbindungsaufbau findet erst statt wenn Windows aus dem Hibernate-Modus wieder hochgefahren wurde. Dieser Wert entsprach bei meinen Tests auch wirklich der Laufzeit die mein Computer hatte nachdem ich ihn morgens eingeschaltet habe, obwohl die Systembetriebszeit im Task Manager schon mehrere Tage betrug.

Das praktische an dieser Methode ist, dass man direkt die Laufzeit erfährt und nicht nur den Startzeitpunkt. So muss man nicht selber rechnen 😉

 

Laufzeit des Computers in der Powershell ermitteln

Um die Laufzeit seit dem letzten Hochfahren des Computers in der Powershell zu bekommen, kann man den bereits gezeigten Powershell-Schnipsel verwenden:

Statt diesem Einzeiler kann man das ganze auch mit Variablen umständlicher mit der Bildung einer Timespan realisieren:

Wenn man sich das Ergebnis in eine Variable speichert kann man damit natürlich noch irgendetwas anderes machen oder man kann das Ergebnis auch irgendwo ablegen um z. B. als Administrator Zugriff darauf zu bekommen.

Der Parameter -Force wird benötigt um den Zugriff auf die versteckte Systemdatei zu bekommen.

An sich ist die Get-ChildItem-Funktion eigentlich übertrieben. Um die Eigenschaften einer einzelnen Datei zu bekommen reicht normalerweise auch Get-Item. Aber leider habe ich das für versteckte Systemdateien nicht hinbekommen, weshalb ich auf Get-ChildItem ausgewichen bin. Naja, man wird es verschmerzen können 😉

 

Bericht mit Windows-Bordmitteln erstellen

Der Event Viewer ist leider nicht das übersichtlichste Tool und bietet keine schönen Exportmöglichkeiten. Allerdings bietet die Energieverwaltung in der Kommandozeile eine eingebaute Berichtsfunktion. Hierdurch lässt sich ein Bericht als html-Datei exportieren. Dazu braucht man nur folgendes in eine administrativen Kommandozeile abfeuern:

Der Bericht wird standardmäßig unter „C:\Windows\system32“ als „sleepstudy-report.html“ abgelegt.

Wer den Bericht woanders ablegen möchte kann dies mit dem Parameter „output“erledigen:

 

Die erstellte html-Datei lässt sich in einem beliebigen Browser öffnen und sieht etwa so aus:

Die „Active“-Zeit entspricht der Zeit die der Computer seit dem letzten Einschalten gelaufen ist.

 

Drittsoftware

Wie eingangs beschrieben kann man Programme wie AIDA32 für diesen Zweck vergessen. Allerdings gibt es von NirSoft das schöne Tool „TurnedOnTimesView“. Das Tool benötigt keine zusätzlichen Dateien und muss auch nicht installiert werden. Man kann es, ausreichend Rechte vorausgesetzt, auch für die Analyse von entfernten Rechnern nutzen. Es bedient sich bei den Angaben des EventViewers und kann als eine Art nettere Ansicht für diesen angesehen werden. Anstatt umständlich die passenden Events filtern zu müssen, werden einem nur die wichtigen Start- und Shutdown-Events angezeit:

 

 

Schreibe einen Kommentar