Reporting on Exchange Server uptime
Using WMI and PowerShell, we can quickly determine how long a server has been online based on the last boot time of the operating system. This information can be useful for monitoring scripts that report on availability, or even when you just want to do a quick check on how long each server has been online. In this recipe, we'll take a look at how to use PowerShell to extract this information.
How to do it...
To determine the total uptime for a server, we can query the
Win32_OperatingSystem
class by first running this command:$OS = Get-WmiObject Win32_OperatingSystem
Next, we can access the
LastBootUpTime
property of this object to determine how long the system has been online:The problem with this, as you can see from the output shown previously, is that the value is stored in UTC (Universal Time Coordinate) format, so let's convert the value to a readable date-time format:
$OS.ConvertToDateTime($OS.LastBootUpTime)
To get the total uptime, we can subtract...