Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
+49 (0) 351/850 33-0

Verwendung einer Site Policy in SharePoint 2013 mit Powershell

SharePoint_2013_Logo_Communardo_klein

Bei meiner Arbeit mit SharePoint und Powershell stieß ich neulich auf das Thema Site Policies in Webseiten.

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

Site Policies (zu dt. Website-Richtlinien) bestimmen, was mit einer Webseite nach ihrer Verwendung passieren soll. Im Rahmen der Site Policies können Webseiten in SharePoint 2013 zu einem bestimmten Zeitpunkt oder nach einer bestimmten Laufzeit automatisch geschlossen und sogar gelöscht werden. Dazu muss lediglich an der gewünschten Webseite eine solche Site Policy konfiguriert und aktiviert werden.

Meine Herausforderung bestand nun darin, eine solche Site Policy an einer Webseite per Powershell zu aktivieren und anschließend diese Webseite zu Schließen. Auf der Suche nach dem dazugehörigen Namespace in der MSDN wurde ich nach einer Weile auch fündig. Dort findet man die dazugehörige Klasse ProjectPolicy im Namespace Microsoft.Office.RecordsManagement.InformationPolicy. Daraus ein Powershell Skript zu erstellen ist nun nicht mehr schwer. Dabei kann man u.a. folgende Methoden nutzen:

$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 wenigen Powershell Zeilen lassen sich somit automatisiert Site Policies an Webseiten aktivieren bzw. verschiedene Webseiten per Site Policy schließen. Wurde eine Webseite geschlossen, steht sie anschließend nur noch lesend für die Nutzer zur Verfügung und es können keine Inhalte oder Listeneinträge mehr hinzugefügt oder bearbeitet werden. Dies dient meist der Vorbereitung zur Archivierung oder Löschung von Webseiten.

Wenn Sie Fragen zu SharePoint haben oder eine Lizenz benötigen, stehen wir Ihnen jederzeit gern zur Verfügung.

>> Zum Kontaktformular <<

Kommentar hinterlassen


Pin It on Pinterest