Aujourd'hui un article sur un point qui devrait être essentiel dans une gouvernance SharePoint! Il s'agit de la surveillance de la santé de votre web application à travers l'état des bases de données de contenu qui y sont rattachées.
J'ai conçu un petit script PowerShell permettant de réaliser un "Test-SPContentDatabase" sur toutes les bases de contenu associées à votre application web. puis d'exporter le résultat vers un fichier CSV.
Le parcours de toutes les bases n'est pas négligeable sachant que sur de grandes fermes GED, vous pouvez atteindre rapidement une centaine de bases de contenus rattachées à une seule web application.
Le parcours de toutes les bases n'est pas négligeable sachant que sur de grandes fermes GED, vous pouvez atteindre rapidement une centaine de bases de contenus rattachées à une seule web application.
Voici le script:
$URL_WebApp="http://mawebapplicationSP";
$CSV_SaveLocation="E:\ResultTestMaWebApp.csv";
$DBErrors=@();
$CSV_SaveLocation="E:\ResultTestMaWebApp.csv";
$DBErrors=@();
$webApp = Get-SPWebApplication $URL_WebApp;
Write-Host -foregroundcolor Green "WebApplication: " $webApp.Url;
$webApp.ContentDatabases|%{
$contentDBName = $_.Name;
Write-Host -foregroundcolor Green "Parcours de la base de contenu : "$_.Name;
$errors = Test-SPContentDatabase -ServerInstance $_.Server -WebApplication $webApp -Name $contentDBName;
if($errors)
{
$errors|%{$_|Add-Member -membertype NoteProperty -Name "Database" -Value $contentDBName;}
$DBErrors += $errors;
}
}
$DBErrors | Select-Object "Database","Category","Error","UpgradeBlocking","Message","Remedy"| Export-CSV $CSV_SaveLocation -Delimiter ";" -encoding "UTF8"
Write-Host -foregroundcolor Green "WebApplication: " $webApp.Url;
$webApp.ContentDatabases|%{
$contentDBName = $_.Name;
Write-Host -foregroundcolor Green "Parcours de la base de contenu : "$_.Name;
$errors = Test-SPContentDatabase -ServerInstance $_.Server -WebApplication $webApp -Name $contentDBName;
if($errors)
{
$errors|%{$_|Add-Member -membertype NoteProperty -Name "Database" -Value $contentDBName;}
$DBErrors += $errors;
}
}
$DBErrors | Select-Object "Database","Category","Error","UpgradeBlocking","Message","Remedy"| Export-CSV $CSV_SaveLocation -Delimiter ";" -encoding "UTF8"
Selon moi, pour bien faire, ce genre de script devrait être lancé tous les mois sur les environnements SharePoint. Ceci permettra de vous assurer régulièrement de ne pas avoir d'erreurs (missingsetupfile, missingfeature, missingassembly,...) liées à vos solutions SharePoint.
Ainsi, le travail de mise à jour de votre ferme SharePoint (Cumulative Update, Public update, Service Pack) n'en sera que simplifié et permettra de gagner en sérénité.
Note : Cet article s'applique aussi à SharePoint 2010.
Aucun commentaire:
Enregistrer un commentaire