105

How can I find a Windows server's last reboot time, apart from 'net statistics server/workstation'?

2

11 Answers 11

136

Start → Run → cmd.exe:

systeminfo | find "System Boot Time" 

Or for older OS versions (see comment):

systeminfo | find "System Up Time" 
7
  • 9
    Works in Windows XP and I would assume Windows Server 2003, but doesn't work on Windows 2008 as it is now "System Boot Time". Commented Jul 12, 2010 at 14:53
  • This only works with English locale, see @user47994 for a language independent solution Commented Jul 6, 2015 at 8:22
  • "System Boot Time" works for Windows Server 2012 R2 Commented Apr 17, 2017 at 17:11
  • 2
    systeminfo | find /i "Boot Time" Commented Aug 11, 2017 at 6:07
  • 2
    And, this works remotely! systeminfo /s servername | ... Commented Aug 14, 2017 at 14:58
42

Filter the System Event Log for Event ID 6009.

1
  • 4
    This is especially nice because if you keep a large enough event log, you will have a history of many previous reboots. Commented Jul 12, 2010 at 14:48
19

open up the powershell command and run this to see all your history ... and no UI necessary :-)

get-eventlog System | where-object {$_.EventID -eq "6005"} | sort -desc TimeGenerated 
1
  • works in Powershell 5, doesn't work in cross-platform Powershell 7+ for obvious reasons Commented May 5 at 12:37
12

I use the PsInfo utility from Microsoft's Sysinternals package, which will give you output like this:

PsInfo v1.77 - Local and remote system information viewer Copyright (C) 2001-2009 Mark Russinovich Sysinternals - www.sysinternals.com System information for \\JEFF-DELL: Uptime: 0 days 0 hours 33 minutes 27 seconds Kernel version: Microsoft Windows XP, Multiprocessor Free Product type: Professional Product version: 5.1 Service pack: 3 Kernel build number: 2600 Registered organization: Registered owner: IE version: 8.0000 System root: C:\WINDOWS Processors: 2 Processor speed: 2.3 GHz Processor type: Intel(R) Core(TM)2 Duo CPU E6550 @ Physical memory: 3316 MB Video driver: Live Mesh Remote Desktop Mirror Driver 
2
  • 5
    psinfo uptime will display just the uptime. Commented Jul 12, 2010 at 15:43
  • psinfo would in theory be a great solution, because I use SysInternals Suite anyway. But on my (German) Windows 10 Pro, even the latest version always displays "Error reading uptime". Commented Feb 13 at 4:11
11

If you are using Server 2008, you can see the system uptime in hours on the "Task Manager" - "Performance" tab. As far as I know, the "net statistics ..." way is the only true way on Windows 2003.

1
  • nice never knew that was there Commented Oct 18, 2018 at 19:14
10

Using a wmi client.

C:\>wmic OS GET CSName,LastBootUpTime CSName LastBootUpTime SERVER 20101124084714.500000-360 

Note: -360 = GMT-6

8

Last Time the System Booted

My personal favorite is to use WMI and Win32_OperatingSystem properties/methods. Here it is as an easy copy/paste one liner:

((Get-WmiObject Win32_OperatingSystem).ConvertToDateTime((Get-WmiObject Win32_OperatingSystem).LastBootUpTime)) 

Same thing, but easier for manual typing:

$obj = Get-WmiObject Win32_OperatingSystem $obj.ConvertToDateTime($obj.LastBootUpTime) 

Both options provide output like:

Monday, June 30, 2014 11:59:50 AM 

Length of System Up Time

If you want to find out how long the system has been online you can do this (this is also an alternate code style):

$Obj = Get-WmiObject -Class Win32_OperatingSystem $Obj.ConvertToDateTime($Obj.LocalDateTime) - $Obj.ConvertToDateTime($Obj.LastBootUpTime) 

Which gives output like:

Days : 7 Hours : 1 Minutes : 59 Seconds : 42 Milliseconds : 745 Ticks : 6119827457690 TotalDays : 7.08313363158565 TotalHours : 169.995207158056 TotalMinutes : 10199.7124294833 TotalSeconds : 611982.745769 TotalMilliseconds : 611982745.769 
1
  • works in Powershell 5, doesn't work in cross-platform Powershell 7+ for obvious reasons Commented May 5 at 12:37
6

Using Powershell

Get-CimInstance -ClassName win32_operatingsystem | select csname, lastbootuptime CSName LastBootUpTime Server 7/5/2014 6:00:00 AM 
3

You can easily open your task manager in performance tab under System find your "UpTime"!!!

3

Since the last boot time is for troubleshooting a useful information, we automaticalley display it on every server as background wallpaper

enter image description here

enter image description here

Howto

  • Using Bginfo (Microsoft / Sysinternals)
  • Configure the wanted information
  • Run as scheduled task:
    • command line: Bginfo64.exe /silent /nolicprompt /timer:0
    • trigger: on every user logon
2

Following gives history of shutdown dates.

Refer How to get the list of shutdown event with date?

Filtering the System events with the event id 1074 in Eventvwr.exe helped me

You must log in to answer this question.