SharePoint : Script PowerShell pour confirmer l’utilisation de toutes les collections de site d’une Web Application
Toujours pour la bonne gestion des Team Sites SharePoint, nous avions vu la gestion des sites inutilisés et le script permettant de s’ajouter comme administrateur de collection via PowerShell :
Un des points à connaître, lors de l’utilisation de ce script PowerShell, est que le lendemain de son exécution, l’administrateur recoit d’une traîte la demande de confirmation pour autant de collection que celle qui sont présentes dans la ferme.
Afin de ne pas passer son temps à se poser la question de son bon usage, il peut être utile de réinitialiser une fois ce compteur pour toutes les collections de sites.
Ceci se fait manuellement via la page WEB sous le format :
Comme expliqué ici :
En interne, une méthode est exécutée dès le chargement de la page :
Ainsi, un script PowerShell simple permet de faire cette réinitialisation pour toutes les collections de sites d’une WebApplications données :
function ConfirmUsageSiteCollection([string]$SiteCollectionURL)
{
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
$site = new-object Microsoft.SharePoint.SPSite($SiteCollectionURL)
$myResult = $site.ConfirmUsage()
Write-Host "SiteCollectionURL:", $SiteCollectionURL, "- confirm Usage:", $myResult
$site.Dispose()
}
function ConfirmUsageForAllCollections([string]$WebAppURL)
{
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
$Thesite = new-object Microsoft.SharePoint.SPSite($WebAppURL)
$oApp = $Thesite.WebApplication
foreach ($Sites in $oApp.Sites)
{
$mySubweb = $Sites.RootWeb
$TempRelativeURL = $mySubweb.Url
ConfirmUsageSiteCollection $TempRelativeURL
}
}
function StartProcess()
{
# Create the stopwatch
[System.Diagnostics.Stopwatch] $sw;
$sw = New-Object System.Diagnostics.StopWatch
$sw.Start()
cls
ConfirmUsageForAllCollections "http://MyWebApplication1"
ConfirmUsageForAllCollections "http://MyWebApplication2"
$sw.Stop()
# Write the compact output to the screen
write-host $usertoreplaceinsiteadmin, " Usage Confirm for all Site Collections in Time: ", $sw.Elapsed.ToString()
}
StartProcess
Ce script est ajouté au projet CodePlex “SharePoint Management PowerShell scripts” dans le groupe de scripts :
Romelard Fabrice [MVP]
Commentaires
Enregistrer un commentaire