Windows-Uptime ist eine Messung, die viele Serveradministratoren zur Fehlerbehebung täglicher Probleme in der Umgebung verwenden. In diesem Artikel erfahren Sie, wie Sie die Startzeit in Windows 10 und Windows Server überprüfen können. Sie können die Methode verwenden, die Ihnen am einfachsten erscheint. Verwenden Sie diesen Artikel als zukünftige Referenz.
Der Artikel ist in zwei Hauptteile unterteilt: Überprüfung der Serverbetriebszeit und Ermittlung der historischen Windows-Betriebszeit. Der erste Teil konzentriert sich darauf, wie lange der Computer seit dem letzten Neustart aktiv war. Dies wird in diesem Artikel als „aktuelle“ Betriebszeit bezeichnet.
Der zweite Teil des Artikels konzentriert sich auf die Ermittlung der „historischen“ Betriebszeit, d.h. wie lange ein Windows-System zwischen mehreren Neustarts aktiv war. Mithilfe von PowerShell erfahren Sie, wie Sie das Windows-Ereignisprotokoll analysieren, um historische Betriebszeiten abzurufen.
So überprüfen Sie die Startzeit in Windows 10 und Windows Server
Zum Einstieg werfen wir nun einen Blick auf einige verschiedene Möglichkeiten, um die aktuelle Windows-Betriebszeit zu finden.
In diesem Abschnitt wird Ihnen anhand einer Demonstration gezeigt, wie Sie die Startzeit in Windows 10 über lokale Befehle auf einem Windows-System überprüfen können. Beachten Sie jedoch, dass Sie mit PowerShell Remoting diese Überprüfungen auch remote durchführen können (mit Ausnahme des Task-Managers).
Task-Manager
Eine der einfachsten und unkompliziertesten Möglichkeiten, die Betriebszeit zu ermitteln, besteht darin, einfach den Task-Manager zu öffnen.
Um die Windows-Betriebszeit mit dem Task-Manager zu überprüfen, klicken Sie mit der rechten Maustaste auf die Windows-Taskleiste und wählen Sie Task-Manager aus oder drücken Sie Strg+Shift+Esc. Sobald der Task-Manager geöffnet ist, klicken Sie auf den Reiter Leistung. Unter dem Reiter „Leistung“ sehen Sie das Label Laufzeit.

Ereignisanzeige
Die Ereignisanzeige wird von den meisten Sysadmins regelmäßig verwendet und ist daher eine gute Option für eine nicht mit der Befehlszeile verbundene Methode zur Abrufung der Betriebszeit. Die Ereignis-IDs 6005 und 6006 können verwendet werden, um zu identifizieren, wann der Ereignisprotokolldienst startet oder stoppt, was während des Start-/Herunterfahrzeiten geschieht. Befolgen Sie diese Schritte, um die Betriebszeit über die Ereignisanzeige zu ermitteln:
- Rufen Sie das Startmenü auf und suchen Sie nach Ereignisanzeige, Sie können auch über Computerverwaltung darauf zugreifen.
- Auf der linken Seite erweitern Sie den Abschnitt „Windows-Protokolle“ und wählen Sie „System“ aus
- Da wir nur systembezogene Ereignisse abfragen, klicken Sie auf „Aktuelles Protokoll filtern…“ auf der rechten Seite Ihres Fensters
- Im Feld „Ereignis-ID“ (standardmäßig mit dem Text „Alle Ereignis-IDs“ vorausgefüllt) müssen wir nach unseren relevanten Ereignis-IDs suchen. Geben Sie „6005, 6006“ ein und klicken Sie dann auf OK
Sie können dann die beiden Zeiten vergleichen, um eine Gesamtbetriebszeit zu erstellen. Da viele Instanzen dieser Ereignisse gespeichert werden, können wir die Historie der Betriebszeiten abfragen!
Sie haben jetzt gefilterte Ereignisprotokolle, die Ihnen nicht nur die letzte Zeit, sondern alle bekannten Zeiten anzeigen, zu denen ein Startvorgang/Herunterfahren stattgefunden hat.
PowerShell
PowerShell bietet verschiedene Möglichkeiten, um die Betriebszeit abzurufen. Sie können entweder WMI abfragen oder das Windows-Ereignisprotokoll verwenden.
Bei der Abfrage von WMI können Sie die Klasse Win32_OperatingSystem abfragen und die Eigenschaft LastBootUpTime
auswählen, wie unten gezeigt.
Um das Ereignisprotokoll über PowerShell abzufragen, verwenden Sie das Cmdlet Get-WinEvent
. Sie müssen nach Ereignis-IDs 6005 oder 6006 suchen, die den letzten Startzeitpunkt des Computers anzeigen.
WMIC
WMIC bietet eine Befehlszeilenschnittstelle für WMI und ist eine bewährte Methode, die seit vielen Jahren verwendet wird. Um die Betriebszeit über WMIC abzufragen, verwenden Sie erneut die WMI-Klasse Win32_OperatingSystem, jedoch etwas versteckt. Wie unten gezeigt, können Sie die WMIC-Syntax os get lastbootuptime
verwenden, um den letzten Startzeitpunkt des Servers zurückzugeben.
Sie müssen nichts herunterladen, um WMIC nutzen zu können, da es bereits mit Windows vorinstalliert ist.
Systeminformationsdienstprogramm
Der Befehl systeminfo zeigt detaillierte Konfigurationsinformationen über einen Computer an und kann verwendet werden, um die Systembetriebszeit abzufragen. Mit dem integrierten Befehlszeilentool find können Sie den Text analysieren, um die benötigten Daten abzurufen.
Öffnen Sie einfach die Eingabeaufforderung oder PowerShell und geben Sie systeminfo | find
ein.
Sie müssen nichts herunterladen, um systeminfo
zu nutzen, da es vorinstalliert ist mit Windows.
Net-Statistikbefehl
Sie können auch schnell die Betriebszeit über Net Statistics oder allgemein bekannt als net stats
abfragen. Der Befehl net stats
gibt allgemeine Informationen über Ihre Sitzung zurück. Sie können unten die Zeile Statistik seit… sehen. Dieses Datum gibt an, wann die Maschine gestartet wurde.
Betriebszeitbefehl
Wenn Sie ein kleines, portables Dienstprogramm benötigen, um die Betriebszeit von Windows zu ermitteln, schauen Sie sich das Uptime-Tool von NeoSmart Technologies an. Dieses Dienstprogramm eignet sich perfekt, um die Betriebszeit auf jeder Windows-Version schnell abzufragen. Der Hauptvorteil dieses Tools ist der Komfortfaktor. Wenn Sie es mehrmals täglich verwenden, sollten Sie diese Methode in Betracht ziehen.
Nach dem Herunterladen des Tools extrahieren Sie die Datei uptime.exe in %WinDir%\System32. Öffnen Sie dann eine Eingabeaufforderung und geben Sie einfach uptime
ein.

Um dieses Tool remote auszuführen, müssen Sie es zunächst auf die Windows-Systeme kopieren, auf denen Sie die Betriebszeit überprüfen möchten.
Vorstellung des Skripts Get-ServerUptimeReport
Um den PowerShell-Code nicht selbst schreiben zu müssen, laden Sie ein Community-Skript mit dem Namen Get-ServerUptimeReport.ps1 herunter.
Dieses Skript ermöglicht es Ihnen, einen Computernamen als Parameter anzugeben. Es analysiert dann das Ereignisprotokoll System des Computers und sucht nach einem Start- und einem Stoppereignis, um sie zu vergleichen. Anschließend gibt es die Gesamtzeit zurück, in der der Server online war, bis das Ereignisprotokoll zurückgesetzt wurde.
Hier ist ein Beispiel für die Verwendung dieses Skripts auf einem Server. Es liefert die Gesamtlaufzeit für alle Ereignisse im Ereignisprotokoll des Servers zurück, einschließlich der aktuellen Laufzeit.
Ermittlung der Windows-Laufzeit auf vielen Servern
Dieses Skript ist eine schnelle Möglichkeit, die Laufzeit eines einzelnen Servers über mehrere Tage hinweg zu ermitteln. Aber was ist, wenn Sie diese Informationen gleichzeitig für viele Server benötigen? Dazu können Sie eine Liste von Servern erstellen und dann jeden Computernamen nacheinander an dieses Skript übergeben.
Als Beispiel definieren Sie alle Ihre Server in einem Array in der PowerShell-Konsole. In diesem Beispiel wird die Variable für das Array $servers
genannt.
In der Realität könnten Sie jedoch Servernamen aus Active Directory, Hyper-V oder einer Textdatei abrufen. Solange Sie ein Array von Servernamen erstellen können, sind Sie in Ordnung.
Definieren Sie alle Servernamen und iterieren Sie dann über jeden Server mit einer Schleife, wie unten gezeigt.
Dieser Code funktioniert, aber Sie können nicht feststellen, auf welchen Server sich jede Zeile bezieht. Fügen Sie der Ausgabe einen Servernamen hinzu, wie unten gezeigt, indem Sie eine berechnete Eigenschaft verwenden.
Jetzt haben wir ein großartiges kleines Werkzeug, das uns einen schnellen Bericht über die Laufzeit unserer Server im Laufe der Zeit liefert!
Zusammenfassung
Sie haben nun viele verschiedene Möglichkeiten gesehen, die Windows-Betriebszeit zu ermitteln. Unabhängig von der gewählten Option erhalten Sie die gleichen Informationen. Wählen Sie die beste Option für Ihren eigenen Kontext aus.
Und denken Sie daran, wenn Sie einen historischen Bericht über die Betriebszeit benötigen, vergessen Sie nicht das PowerShell-Skript Get-ServerUptimeReport
!