Windows Server

Determine the last boot time of a Windows Server

Windows Server

In this article, we shall discuss the steps to Determine the last boot time of a Windows Server. This can be achieved by viewing the Kernel Boot information via the Windows event log. Kindly refer to these related guides: How to enable virtualization (VT-X) in VMWare workstation, how to install virtual machine Guest Addition, Linux Machine: Is it Virtual or a Physical server, how to install virtual machine Guest Addition,

You may also want to see how to fix the virtual machine ran into a non-fatal problem as described below, we suggest that you take appropriate action to prevent the problem from recurring, and how to install Windows Server 2019 on Virtualbox.

Steps to view the Last Reboot Time via the Command Line

In order to determine various System boot times etc, lunch the command line tool can be used as an administrator. There are different ways to fire the CMD prompt.

  • Search for “CMD” in the search menu or
  • Search for “RUN” in the search menu or type cmd.exe

Or from the file explorer, search for cmd.exe. Next, copy and paste this command and hit enter

systeminfo | find "System Boot Time"
System boot time

Or run the command below

systeminfo | find /i "Boot Time"
Server uptime

Please see how to fix “Unable to update the password value provided for the new password and Password Policy“, how to allow only admin users (administrators) to shut down and reboot Server 2012, and how to fix “The action cannot be completed because the folder or file is open in another program: Determine where a file is open in Windows

See the Last Reboot Time via Windows Event Log

Determining the boot time via the Event Log After firing up the Windows Event Viewer Application

  • Under Event Viewer (local)
  • Expand the Applications and Services log
  • Expand Microsoft
  • Expand Windows
  • Search for Kernel-Boot in the drop-down menu, expand and then click on Operation.

The boot time etc, will be displayed on the right pane as shown below.

You may want to see how to detect if an application was uninstalled on Windows: Find out who has uninstalled an application via Windows Event Viewer, how to Using Awx to deploy, schedule and run playbooks, and how to View Scheduled Events on AW using the Command Line.

FAQs on the last boot time

What PowerShell command can I use to check the last boot time of a Windows Server?

You can utilize the following PowerShell command to retrieve the last boot time on Windows and Windows Server: (Get-CimInstance Win32_OperatingSystem).LastBootUpTime

Are there graphical interfaces in Windows Server for checking the last boot time?

Yes, outside of the Event Viewer discussed above, you can determine the last boot time in Windows Server by accessing the “Task Manager.” Right-click the taskbar and select “Task Manager.” Under the “Performance” tab, you will see the “Uptime” field, which shows the server’s last boot time.

Can I automate the process of checking the last boot time of multiple Windows Servers?

You can automate the checking of the last boot time by using PowerShell. You will have to create a script that connects to multiple servers and retrieves their last boot times, making it efficient for managing multiple servers’ uptime information.

Script to Automate the process of checking the last boot time of multiple Windows Servers?

The below PowerShell script can be used to query the last boot times for multiple servers. To do this use PowerShell Get-CimInstance cmdlet to query the Win32_OperatingSystem class on remote servers.

# Define a list of server names or IP addresses
$servers = @("Server1", "Server2", "Server3")

# Define an array to store the results
$uptimeResults = @()

# Iterate through the list of servers
foreach ($server in $servers) {
    # Use Try-Catch to handle errors in case the server is unreachable
    try {
        # Query the last boot time on the remote server
        $bootTime = Get-CimInstance -ComputerName $server -ClassName Win32_OperatingSystem | Select-Object LastBootUpTime

        # Calculate the uptime in days
        $uptime = (Get-Date) - $bootTime.LastBootUpTime

        # Create a custom object with server name and uptime
        $result = [PSCustomObject]@{
            ServerName = $server
            Uptime = $uptime.Days

        # Add the result to the array
        $uptimeResults += $result
    catch {
        # Handle any errors, such as when the server is unreachable
        Write-Host "Error connecting to $server: $_"

# Display the results
$uptimeResults | Format-Table -AutoSize

I hope you found this blog post helpful on how to determine the last boot time of a Windows Server. If you have any questions, please let me know in the comment session.

Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x