Die meisten Warmup Scripts für SharePoint die mittels Powershell realisiert sind, kümmern sich nur um die Startseiten der Root Sites in den Sitecollections.

Das folgende Script ruft alle Sites in allen Sitecollections in allen Webapps auf.

   1: Clear-Host
   2: Add-PsSnapin Microsoft.SharePoint.PowerShell -erroraction silentlycontinue
   3:  
   4: [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
   5: [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration")
   6:  
   7: [System.Net.WebRequest]::DefaultWebProxy = $null
   8:  
   9: $farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
  10:  
  11: Write-Host("Get all web applications within each web service")
  12: $websvcs = @($farm.Services | where -FilterScript {$_.GetType() -eq [Microsoft.SharePoint.Administration.SPWebService]})
  13:  
  14: foreach ($websvc in $websvcs) {
  15:  foreach ($webapp in ($websvc.WebApplications | where -FilterScript {$_.GetType() -eq [Microsoft.SharePoint.Administration.SPWebApplication]})) {
  16:   $webappurl = $webapp.Url
  17:   $webappname = $webapp.Name
  18:   Write-Host("Get all site collections within web application '$webappname ($webappurl)'") -ForeGroundColor Green
  19:  
  20:   foreach ($sitecollection in $webapp.Sites) {
  21:    $sitecollectionurl = $sitecollection.Url
  22:    Write-Host("Get all webs of '$sitecollectionurl' site collection") -ForeGroundColor Yellow
  23:  
  24:    foreach ($web in $sitecollection.AllWebs) {
  25:     $webname = $web.Title
  26:     $weburl = $web.Url
  27:     Write-Host("Hitting web '$webname ($weburl)'");
  28:  
  29:     $request = [System.Net.WebRequest]::Create($weburl)
  30:     $request.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
  31:     $request.proxy = [System.Net.WebRequest]::DefaultWebProxy
  32:     $request.ContentType = "application/x-www-form-urlencoded"
  33:     $request.Method = "GET"
  34:     $request.GetResponse().StatusCode
  35:    }
  36:   }
  37:  }
  38: }