example powershell script

You can easily configure the SysOrb agent to execute powershell scripts. Get the result presented in a graph in SysOrb and configure the threshold for the check. Below is provided an example for inspiration on how to do it.

In custom.conf:

#
# Custom check configuration for the SysOrb agent.
#
[System uptime]
type=real
command=powershell -NoLogo "C:\Get-UpTime.ps1"
result_pattern=TotalDays: ([[:digit:]]+\.?[[:digit:]]*)
timeout=120

In C:\Get-UpTime.ps1

##
#  Powershell script for getting system uptime in days
##

# Helper Function - convert WMI date to TimeDate object
function WMIDateStringToDate($Bootup) {
    [System.Management.ManagementDateTimeconverter]::ToDateTime($Bootup)
}

# Main script
$Computer = "." # adjust as needed
$computers = Get-WMIObject -class Win32_OperatingSystem -computer $computer

foreach ($system in $computers) {
    $Bootup = $system.LastBootUpTime
    $LastBootUpTime = WMIDateStringToDate($Bootup)
    $now = Get-Date
    $Uptime = $now - $lastBootUpTime
    "TotalDays: {0}" -f [string]$Uptime.TotalDays
}
# End script