mardi 29 novembre 2011

PowerShell Series : Farm Warmup


Dans ce nouveau post des PowerShell Series, je vais présenter un script simple permettant d’effectuer un warm up d’une ferme SharePoint 2010

L’idée est d’appeler tous les sites et sous sites de la ferme afin de charger les DLL et les pages en vue d’accélérer les ouvertures de pages pour premiers utilisateurs.

If ((Get-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null)
            {
          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;
}

            Write-Host "Warmup Starting"

$WebApps = Get-SPWebApplication      
            ForEach ($Webapp in $WebApps)
            {
$Sites = $WebApp.sites
    ForEach ($Site in $Sites)
            {
        $SiteUrl = $Site.Url;

Get-SPSite -Identity $siteurl | Get-SPWeb | ForEach-Object { $WebUrl = $_.url ; Write-Host $WebUrl ; $html=get-webpage -url $WebUrl}
            }
    }

            Write-Host "Warmup End"

Afin de planifier l'exécution (avant les premières connexions des utilisateurs), Il suffit de créer un fichier.bat avec la ligne suivante :

Powershell.exe <CheminduFichier>\NomduFichier.ps1

eNjoy !

Aucun commentaire:

Enregistrer un commentaire