Jump to content

Recommended Posts

Posted

Trying to get a custom script to obtain system uptime in hours and if uptime is greater than 24 hours send a console message to logged in user.  Here is what I have so far, but the $Final variable will not populate properly.  Also would like to pass the final uptime to an output variable which is tied to a custom field (system level) for use in workflows. 

Quote

# Outputs
$HoursUp = 0
$Final = 0
function Get-Uptime {
   $os = Get-WmiObject win32_operatingsystem
   $uptime = (Get-Date) - ($os.ConvertToDateTime($os.lastbootuptime))
   $Display = "Display Uptime: " + $uptime.TotalHours + " hours"
   $Final = $uptime.TotalHours
   Write-Output $Display
}

function NotifyLocalConsole {
msg console /server:localhost ("This System has not been restarted for " + $Final + "hours.  Please Restart this machine when possible.")
}

Get-Uptime

NotifyLocalConsole
if ($Final > 24) {NotifyLocalConsole}
$HoursUp = $Uptime.TotalHours

Any help would be greatly appreciated

  • Administrators
Posted

Please don't forget to inform Pulseway of the new $Final value using the following line:

Start-Process -FilePath "$env:PWY_HOME\CLI.exe" -ArgumentList ("setVariable Final $Final") -Wait

-Paul

  • 2 weeks later...
Posted

@Paul Can you explain more about how to fill custom fields i've send you a DM.

Cannot find any documentation that we can use.

Thanks!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...