Recently ran across a SharePoint install that had links to all the web apps in the Startup folder on the WFE box. First thought was, PowerShell that mess!
First you will need to create a batch file to call the PowerShell warmup script. The batch file will need to live in your Startup folder. By doing this, the script will run on server startup.
*update* what if you want to pause / delay the batch file? Simply add a “timeout /t 5” after the @echo off statement. *remove the quotes and 5 is measured in seconds.*
@echo off
timeout /t 5
powershell.exe d:\PowerShellScripts\warmup.ps1
The PowerShell warmup script:
Add-PSSnapin Microsoft.SharePoint.PowerShell;
function Get-WebPage([string]$url)
{
$wc = new-object net.webclient;
$wc.credentials = [System.Net.CredentialCache]::DefaultCredentials;
$pageContents = $wc.DownloadString($url);
$wc.Dispose();
return $pageContents;
}
Get-SPAlternateUrl -Zone Default | foreach-object {
write-host $_.IncomingUrl;
$html = Get-WebPage -url $_.IncomingUrl;
}
warmup script was created by Jon Badgett
http://www.jonthenerd.com/2011/04/19/easy-sharepoint-2010-warmup-script-using-powershell/