dbatools is a free PowerShell module with over 300 SQL Server administration, best practice and migration commands included.

Please note that documentation and command names may be out of date while we work furiously towards 1.0


Find-DbaAgentJob finds agent job(s) that fit certain search criteria. Need to find which one of your servers runs that CDC_capture or Annual_Rollup_for_Gerry job? This command helps you do just that.



To return all agent job(s) that have not run in 10 days.

Find-DbaAgentJob -SQLServer Dev01 -LastUsed 10

To return all agent job(s) that are either disabled, have no email notification or don’t have a schedule with detailed output.

Find-DbaAgentJob -SQLServer Dev01 -Disabled -NoEmailNotification -NoSchedule -Detailed

To return all agent job(s) that haven’t run in the last 10 days ignoring jobs “Yearly – RollUp Workload” and “SMS – Notification”.

Find-DbaAgentJob -SQLServer Dev01 -LastUsed 10 -Exclude “Yearly – RollUp Workload”, “SMS – Notification”

To return all job(s) on Dev01 that are in either category “REPL-Distribution” or “REPL-Snapshot” with detailed output.

Find-DbaAgentJob -SqlServer Dev01 -Category “REPL-Distribution”, “REPL-Snapshot” -Detailed | ft -AutoSize -Wrap

Queries CMS server to return all SQL instances in the Production folder and then list out all agent job(s( that have either been disabled or have no schedule.

Get-SqlRegisteredServerName -SqlServer CMSServer -Group Production | Find-DbaAgentJob -Disabled -NoSchedule -Detailed | ft -AutoSize -Wrap


This command was created by Stephen Bennett. You can find Stephen blogging at sqlnotesfromtheunderground.wordpress.com.


From PowerShell, execute Get-Help Find-DbaAgentJob -Detailed for more information on this function.

Source Code

Want to see the source code? View Find-DbaAgentJob.ps1 on GitHub

Related commands