dimanche 15 janvier 2012

SharePoint 2010 - Script PowerShell - Backup de toutes les collections de sites (Backup-SPSite)

Un petit script rapide pour backuper toutes les collections de sites de toutes les applications Webs de votre ferme SharePoint 2010.

Principe : On boucle en PowerShell sur toutes les WebApps puis sur toutes les collections de sites
(Pensez à mettre à jour les 2 variables $dns (url de votre serveur sharepoint), $destination (dossier où sauvegarder le backup)
Résultat : Un fichier de backup par collection de sites. Le fichier .bak est nommé correctement et préfixé par le numéro de port de la WebApp.

#########################################################
#
# Script de sauvegarde des collections de sites
# Environnement : PROD
#
########################################################

$prefix = "prod"
$dns = "http://monserveur"
$destination = "\\srvbkp\shrpnt_bak\"

########################################################
$allSPWebApps = Get-SPWebApplication | Select ID, Url;

foreach ($webapp in $allSPWebApps)
{
        write-host "Application Web :" $webapp.URL
        $allSPSites = get-spsite –webapplication $webapp.URL | Select ID, Url;

        foreach ($site in $allSPSites)
        {
                $bakName = $site.URL.ToLower().Replace($dns,"-")
                $bakName = $bakName.Replace("/","_")
                if ($bakName.StartsWith("-_")) { $bakName = "80"+ $bakName }
                if ($bakName.Equals("-")) { $bakName = "80" }
                $bakName = $bakName.Replace("-_","_")
                $bakName = $bakName.Replace("-:","")

                write-host "--> Backup de la Collection : $prefix$bakName"
                $filebackup = "$destination\$prefix$bakName.bak"
     
                Backup-SPSite $site.URL -Path $filebackup -Force
        }
}

==> Télécharger ce script PowerShell (.ps1)  <==



1 commentaire:

  1. Est-ce qu'il ne manque pas la ligne $site.Dispose() à la fin de ta boucle ?

    RépondreSupprimer