Advertisement
private775

SP: clean Timer Job History

Feb 29th, 2016
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # http://support-sharepoint.blogspot.in/2015/06/script-to-delete-job-history.html
  2. Write-Host "Clearing Down Timer Job History"
  3. $daysToKeep = 730
  4. $daysToPurgeInOneLoop = 5
  5. while ($daysToKeep -gt 0)
  6. {
  7. $history = get-sptimerjob | where-object {$_.name -eq “job-delete-job-history}
  8. Write-Host " "
  9. Write-Host -NoNewLine "Setting Days to Keep:"
  10. Write-Host -ForegroundColor Green $daysToKeep
  11. $history.DaysToKeepHistory = $daysToKeep
  12. $history.update()
  13. Write-Host -ForegroundColor Green "Starting Purge Job"
  14. $lastTimeJobRan = $history.LastRunTime
  15. $history.runnow()
  16. Write-Host -NoNewLine -ForegroundColor Green "Waiting For Purge Job to Complete"
  17. $jobFinished = $false
  18. while ($jobFinished -eq $false)
  19. {
  20.   Start-Sleep -Seconds 2
  21.   $runningJob = Get-SPTimerJob $history.Name
  22.   Write-Host -NoNewLine -ForegroundColor Yellow "."
  23.   if ($lastTimeJobRan -ne $runningJob.LastRunTime)
  24.   {
  25.    $jobFinished = $true
  26.   }
  27. }
  28. Write-Host " "
  29. Write-Host -ForegroundColor Green "Ending Purge Job"
  30. $daysToKeep = $daysToKeep - $daysToPurgeInOneLoop
  31. }
  32. Write-Host -ForegroundColor Green "Setting Final Job History Retention to 3 days, and schedule to run daily @ 5am"
  33. $history.DaysToKeepHistory = 3
  34. $history.update()
  35. $history.runnow()
  36. Set-SPTimerJob -Identity $history -Schedule "Daily at 05:00"
  37. Write-Host -ForegroundColor Yellow "Please check row counts on dbo.TimerJobHistory Table in Config DB to ensure run complete"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement