Basierend auf diesem Artikel von Andreas Knauer habe ich noch ein paar ergänzende Informationen.
Das beschriebene Powershell Script sieht wie folgt aus und iteriert über alle WebApplications:
Add-PsSnapin Microsoft.SharePoint.PowerShell -erroraction silentlycontinue foreach ($webApp in get-SPWebApplication) { foreach ($site in $webApp.Sites) { foreach ($web in get-SPWeb -site $site) { $request = [System.Net.WebRequest]::Create($web.URL) $request.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials $request.proxy = [System.Net.WebRequest]::DefaultWebProxy $request.ContentType = "application/x-www-form-urlencoded" $request.Method = "GET" try{ $request.GetResponse().StatusCode WRITE-HOST $request.GetResponse().StatusCode } catch [Net.WebException]{ $WebExceptionMessage = $_.Exception.Message WRITE-HOST "Folgender Fehler ist aufgetreten: " + $WebExceptionMessage } } } }
Zur Einbindung als Scheduled Task, den o.g. Code in einer .ps1 Datei speichern. Dann den Task Scheduler öffnen:
und “Create Basic Task” klicken.
Dann dort eine neue Action erstellen und “Start a program” auswählen, powershell als Program eingeben und bei Argument “-noprofile –command [Pfad zum o.g. Script]” einfügen.
Weiterhin ist wichtig, den passenden User einzutragen, damit auch alle WebApplications ordnungsgemäß initialisiert werden könne. Der passende User ist beispielsweise der User unter dem der TimerJob Service läuft.