Determining Microsoft Windows Uptime

Uptime in Windows

So, I was on the phone, trying to walk someone through some server debugging steps. But, after some phone support, it was clear that I needed to locate a hotspot and remote into the server myself. Once I got into the server, I wondered, “I asked for it to be rebooted, but did it actually happen?” In other words, I needed to tell Windows uptime. How can this be easily done?

One idea was to look in the event logs. But, if there are server issues happening, the event logs might be over-run. Searching a little, I came across three command line methods that I would like to share:

  1. Use statistics (all systems):
    • Open DOS command prompt using Start | Run | CMD
    • Run the command: net statistics server | find /i "Statis"
  2. Use system info (Windows 7 or Server 2008):
    • Open DOS command prompt using Start | Run | CMD
    • Run the command: systeminfo | find /i "Boot"
  3. Use system info (XP or Server 2003):
    • Open DOS command prompt using Start | Run | CMD
    • Run the command: systeminfo | find /i "Time"

The /i parameter in the find command ignores case. The reason that options 2 and 3 are different is that in the older operating systems the “Last Boot Time” field is missing and you need to be satisfied in seeing the “System Up Time” field — which indicates how long the system has been running. Of course, you can subtract “System Up Time” from the current date time, to get the effective “Last Boot Time”.