Kleine Helferlein – Teil 1

Hallo zusammen,

in diesem Blogeintrag möchte ich euch ein paar kleine PowerShell-Skriptchen nahe bringen, über die man immer mal wieder stolpert.

Dieses mal behandeln wir das Problem „Design“

Stellen wir uns das Folgende vor: Ein Unternehmen hat bereits ein Intranet auf SharePoint mit dem Basisdesign aufgebaut und möchte nun systemweit eine Anpassung der Masterpage und des Farbschemas durchführen.

Wir klicken in den Einstellungen auf „Aussehen ändern“, wählen unsere neuen Farben und die neue Masterpage aus (gehen wir mal frech davon aus, dass wir all diese Punkte schon haben), testen das Design einmal kurz und sind mit dem Ergebnis zufrieden und wenden dieses an. Wir werden zur Startseite weitergeleitet und sind mit unserem Werk zufrieden. Design und Farben sind genau so wie wir es haben wollen. Zur Sicherheit klicken wir noch kurz auf einen Navigationspunkt um uns auch eine andere Webseite anzusehen. Kurz darauf: Ernüchterung. Farben sind hier noch Standard. Blöd.

Die Einstellungen müssen noch auf die anderen Seiten vererbt werden. Leider geht dies nicht mit der großen Keule, wie wir dies mit aktivierten Veröffentlichungsfunktionen machen könnten.

Für genau diesen Zweck ist das folgende Skriptchen:

Add-PSSnapin Microsoft.SharePoint.Powershell
$siteUrl = „URL Hier“
$colorFile = „Datei.spcolor“ #Name eurer Farbschemadatei
$themename = „theme“ #frei vergebbar
$site = get-spsite $siteUrl
$rootweb = $site.rootweb
$file=$rootweb.GetFile($web.ServerRelativeUrl + „/_catalogs/theme/15/“+ $colorFile)
$theme=[Microsoft.SharePoint.Utilities.SPTheme]::Open($themename, $file)
foreach ($web in $site.Allwebs){
$theme.ApplyTo($web,$false)
$web.MasterUrl = $rootweb.MasterUrl
$web.SiteLogoUrl = $rootweb.SiteLogoUrl
$web.update()
}

Das Skript wendet nun Farben und Masterpage (und Logo) der Root-Seite auf allen anderen Seiten an. Fertig.

Ich hoffe dieser Blogeintrag konnte euch zumindest ein bisschen helfen.

Leave a Comment

Your email address will not be published. Required fields are marked *