Posted August 29, 20204 yr 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
September 1, 20204 yr Administrators 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
September 1, 20204 yr Author Thanks, Any idea what is wrong in the PowerShell script? because $final is always a 0. So I must have a syntax wrong somewhere.
September 10, 20204 yr @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