Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Verwendung einer Site Policy in SharePoint 2013 mit Powershell

SharePoint_2013_Logo_Communardo_klein

Bei mei­ner Arbeit mit SharePoint und Powershell stieß ich neu­lich auf das Thema Site Policies in Webseiten.

Was genau sind eigent­lich Site Policies in SharePoint 2013? Wofür ver­wende ich diese und wann ver­wende ich diese? Und wie wende ich eine Site Policy mit Powershell an?

Site Policies (zu dt. Website-Richtlinien) bestim­men, was mit einer Webseite nach ihrer Verwendung pas­sie­ren soll. Im Rahmen der Site Policies kön­nen Webseiten in SharePoint 2013 zu einem bestimm­ten Zeitpunkt oder nach einer bestimm­ten Laufzeit auto­ma­tisch geschlos­sen und sogar gelöscht wer­den. Dazu muss ledig­lich an der gewünsch­ten Webseite eine sol­che Site Policy kon­fi­gu­riert und akti­viert wer­den.

Meine Herausforderung bestand nun darin, eine sol­che Site Policy an einer Webseite per Powershell zu akti­vie­ren und anschlie­ßend diese Webseite zu Schließen. Auf der Suche nach dem dazu­ge­hö­ri­gen Namespace in der MSDN wurde ich nach einer Weile auch fün­dig. Dort fin­det man die dazu­ge­hö­rige Klasse ProjectPolicy im Namespace Microsoft.Office.RecordsManagement.InformationPolicy. Daraus ein Powershell Skript zu erstel­len ist nun nicht mehr schwer. Dabei kann man u.a. fol­gende Methoden nut­zen:

$spWeb = Get-SPWeb $url

# Abfrage, ob die Webseite bereits geschlossen ist
$isClosed = [Microsoft.Office.RecordsManagement.InformationPolicy.ProjectPolicy]::IsProjectClosed($spWeb)

# Abfrage, welche Site Policy in der Webseite aktiviert ist
$appliedPolicy = [Microsoft.Office.RecordsManagement.InformationPolicy.ProjectPolicy]::GetCurrentlyAppliedProjectPolicyOnWeb($spWeb)

# Abfrage aller konfigurierten Site Policies in der Webseite
$sitePolicyList = [Microsoft.Office.RecordsManagement.InformationPolicy.ProjectPolicy]::GetProjectPolicies($spWeb)

# Suche einer bestimmten Site Policy anhand des Namens in der Site Policy Liste und aktivieren dieser Site Policy in der Webseite
$setPolicy = $sitePolicyList | ? {$_.Name -eq "Close Team Site Policy"}
[Microsoft.Office.RecordsManagement.InformationPolicy.ProjectPolicy]::ApplyProjectPolicy($spWeb, $setPolicy)

# Schließen der Website
[Microsoft.Office.RecordsManagement.InformationPolicy.ProjectPolicy]::CloseProject($spWeb)

$spweb.Update()

Mit weni­gen Powershell Zeilen las­sen sich somit auto­ma­ti­siert Site Policies an Webseiten akti­vie­ren bzw. ver­schie­dene Webseiten per Site Policy schlie­ßen. Wurde eine Webseite geschlos­sen, steht sie anschlie­ßend nur noch lesend für die Nutzer zur Verfügung und es kön­nen keine Inhalte oder Listeneinträge mehr hin­zu­ge­fügt oder bear­bei­tet wer­den. Dies dient meist der Vorbereitung zur Archivierung oder Löschung von Webseiten.

Wenn Sie Fragen zu SharePoint haben oder eine Lizenz benö­ti­gen, ste­hen wir Ihnen jeder­zeit gern zur Verfügung.

>> Zum Kontaktformular <<

Related Posts

Pin It on Pinterest