Today I had a need to run all health analyzer jobs to make sure everything was good after a clean install of SharePoint 2010. Of course I knew there had to be a quick PowerShell approach to this. I did a quick search and found a few different variations of the same basic code, so I took what I liked and made it into a simple function that I will store in the profile on my SP machines going forward.
The blog that had exactly what I wanted, both in the body and the comments was Matthew McDermott’s blog – here. Matthew has a more structured approach using a foreach loop to iterate through each job in the collection, and then he calls the RunNow() method to start the jobs. Gary LaPointe commented and provided a one-liner, which I’m going to use – although I am putting that one-liner into a function…
By making a simple function, I can just run the function like a cmdlet – so it makes it very easy to run going forward.
Here is the function:
function Start-SPHealthTimerJobs {Get-SPTimerJob | Where-Object {$_.Title -like ā*Health Analysis Job*ā} | Start-SPTimerJob}
And to run it, I simply type:
Start-SPHealthTimerJobs
One thought on “Run all SharePoint Health Analyzer Jobs with PowerShell”