private775 icon

SP: clean Timer Job History

private775 | PRO | 02/29/16 11:16:11 AM UTC | 0 ⭐ | 661 👁️ | Never ⏰ | []
PowerShell |

1.4 KB

|

None

|

0 👍

/

0 👎

# http://support-sharepoint.blogspot.in/2015/06/script-to-delete-job-history.html
Write-Host "Clearing Down Timer Job History"
$daysToKeep = 730
$daysToPurgeInOneLoop = 5
while ($daysToKeep -gt 0)
{
$history = get-sptimerjob | where-object {$_.name -eq “job-delete-job-history”}
Write-Host " "
Write-Host -NoNewLine "Setting Days to Keep:"
Write-Host -ForegroundColor Green $daysToKeep
$history.DaysToKeepHistory = $daysToKeep
$history.update()
Write-Host -ForegroundColor Green "Starting Purge Job"
$lastTimeJobRan = $history.LastRunTime
$history.runnow()
Write-Host -NoNewLine -ForegroundColor Green "Waiting For Purge Job to Complete"
$jobFinished = $false
while ($jobFinished -eq $false)
{
  Start-Sleep -Seconds 2
  $runningJob = Get-SPTimerJob $history.Name
  Write-Host -NoNewLine -ForegroundColor Yellow "."
  if ($lastTimeJobRan -ne $runningJob.LastRunTime)
  {
   $jobFinished = $true
  }
}
Write-Host " "
Write-Host -ForegroundColor Green "Ending Purge Job"
$daysToKeep = $daysToKeep - $daysToPurgeInOneLoop
}
Write-Host -ForegroundColor Green "Setting Final Job History Retention to 3 days, and schedule to run daily @ 5am"
$history.DaysToKeepHistory = 3
$history.update()
$history.runnow()
Set-SPTimerJob -Identity $history -Schedule "Daily at 05:00"
Write-Host -ForegroundColor Yellow "Please check row counts on dbo.TimerJobHistory Table in Config DB to ensure run complete"

Comments