Alle Health Analyzer – Prüfungen auf einmal durchführen

Mal wieder etwas an der SharePoint-Umgebung umkonfiguriert?! Nun den kompletten Health-Analyzer einzeln durchzugehen und “Reanalyze now” bei jeder einzelnen Meldung zu klicken, erscheint doch etwas umständlich. Also prüfe ich nach einer Änderung einfach alle “Meldungen”, in dem ich alle Health Analyzer-Prüfungen auf einmal durchführen lasse.

Hier ein entsprechendes PowerShell:


asnp *share*
write-host "Getting timerjob definitions…"
$jobs = Get-SPTimerJob | ? {$_.Title -like "Health Analysis Job*"}
if (!$jobs -or $jobs.Count -eq 0) {
# Maybe in German? 🙂
$jobs = Get-SPTimerJob | ? {$_.Title -like "Integritätsanalyseauftrag*"}
}
if (!$jobs -or $jobs.Count -eq 0) {
throw "Found no timerjobs."
}
write-host "Found" $jobs.Count "timerjobs. Calling RunNow on all of them…" -f y
foreach ($job in $jobs) {
write-host $job.Title
$job.RunNow()
}
write-host "Getting Central Admin URL…" -f Y
$caUrl = Get-SPWebApplication -includecentraladministration | where {$_.IsAdministrationWebApplication} | Select-Object -ExpandProperty Url
write-host "Open IE with current timerjob status…" -f Y
$ie = New-Object -com internetexplorer.application;
$ie.visible = $true;
$ie.navigate($caUrl + "/_admin/ServiceRunningJobs.aspx");
write-host "finished" -f Green

Hinterher öffnet das Skript auch einen Internet Explorer mit der entsprechenden Status-Seite, damit man weiß, wann alle Jobs durchgelaufen sind.

Das Skript benötigt keine Parameter und die Ausgabe sieht dann so aus:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.