Brian Jamrok HTFPD Posted August 29, 2020 Posted August 29, 2020 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 Paul Posted September 1, 2020 Administrators Posted September 1, 2020 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
Brian Jamrok HTFPD Posted September 1, 2020 Author Posted September 1, 2020 Thanks, Any idea what is wrong in the PowerShell script? because $final is always a 0. So I must have a syntax wrong somewhere.
kavaa Posted September 10, 2020 Posted September 10, 2020 @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!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now