We need to monitor a scheduled task created on a server can we do it by PRTG?
Article Comments
Hi,
For me, it was a pleasant surprise https://mycloudrevolution.com/2016/09/15/prtg-advanced-scheduled-task-sensor/
Jul, 2019 - Permalink
Here's a shorter PowerShell script I created based on the details in the link above.
# Parameters param ( [parameter(Mandatory=$true,position=0)] [string] $Server, [parameter(Mandatory=$true,position=1)] [string] $TaskName, [parameter(position=3)] [string] $Folder = '\' ) # Main try { # Get task status $Schedule = New-Object -ComObject 'Schedule.Service' $Schedule.connect($Server) $FolderRef = $Schedule.getfolder($Folder) $Task = $FolderRef.GetTasks(1) | Where-Object {$_.name -eq $TaskName} $TaskEnabled = $Task.enabled $TaskLastRunHours = [math]::round($(New-TimeSpan -Start $([datetime]$Task.lastruntime) -End $(Get-Date)).TotalHours,0) $TaskLastResult = $Task.lasttaskresult # Create PRTG response $Message = "The scheduled task `'$TaskName`' last ran $TaskLastRunHours hour(s) ago with a result of $TaskLastResult." $Channels = @() $Channels += [pscustomobject]@{ 'channel'="Task Enabled"; 'value'= [int]($TaskEnabled) } $Channels += [pscustomobject]@{ 'channel'="Hours since last run"; 'value'= $TaskLastRunHours } $Channels += [pscustomobject]@{ 'channel'="Last run result"; 'value'= $TaskLastResult } $Result = [pscustomobject]@{ result = $Channels; text = "$Message" } $PRTGResult = [pscustomobject]@{prtg = $Result} $PRTGResult | ConvertTo-Json -Depth 3 } catch { $Result = [pscustomobject]@{ error = '1'; text = "$HealthCheckURL Error at line $($_.InvocationInfo.ScriptLineNumber): $_ $($_.Exception)" } $PRTGResult = [pscustomobject]@{prtg = $Result} $PRTGResult | ConvertTo-Json }
Oct, 2019 - Permalink
Dezdez,
Have you considered submitting this for ScriptWorld?
Submit your script to ScriptWorld
Thanks!
Benjamin Day
Paessler Support
Oct, 2019 - Permalink
Daniel,
We cannot monitor the scheduled task itself natively. You might be best by creating a PowerShell script to poll for the data, and have that dump into PRTG via a custom script.
Depending on what the task does, we can monitor for services or processes it invokes.
Benjamin Day
Paessler Support
Aug, 2018 - Permalink