Search code examples
powershellscheduled-tasksps

Powershell - how to get list of all jobs that had runs in the last hour From TASK Scheduler


how can I by using Powershell, Get the list of all the Jobs that runs from TASK Scheduler with this filters:

  1. only tasks that runs in the last hour
  2. from sub TASK Scheduler library that is not Microsoft?

layout needed - name of the job, which time have been run, end time (if ended).


Solution

  • get-scheduledtask|where-object{$_.taskpath -notmatch "^\\Microsoft"}|get-scheduledtaskinfo|where-object{$_.lastruntime -gt (get-date).addhours(-1)}
    

    You can accomplish that with a one-liner that uses the following cmdlets:

    • get-scheduledtask lists the existing scheduledtasks, here is where you need to filter the taskpath to avoid Microsoft subtasks

    • get-scheduledtaskinfo list all the information of a certain task (or in this case, all the information of the task list received through the pipeline)

    • get-date will give you current datetime, here you can add or substract time with the method addhours()