Nützliche PowerShell-Scripts für Sitecore

Es kann für Administratoren von Sitecore-Instanzen immens nützlich sein, über sogenannte „Reports“ mehr über den Zustand einer Website zu erfahren.
So möchte man vielleicht wissen, welche Seiten noch nicht publiziert wurden oder welche Komponenten nicht mehr verwendet werden.

Dies kann allein mit den Boardmitteln einer Sitecore-Installation nicht sehr einfach umgesetzt werden. Dafür gibt es das aber wohl bekannteste Modul für Sitecore , die „Sitecore PowerShell Extensions“. Zur Verwendung des Moduls selber (Installation, erste Schritte, usw…) gibt es auch bereits einen Blog-Artikel. Die Installation der PowerShell Extensions liefert zwar bereits ein relativ grossen Katalog an Scripts mit, viele oft von unseren Kunden nachgefragte Reports sind darin aber nicht enthalten. Diese möchte ich hier nun kurz vorstellen. Ebenfalls habe ich jeweils die Ansicht der Resultate mit eingefügt.

Zu beachten gilt es folgendes: Sollen diese Scripts für eigene Sitecore-Installationen verwendet werden, müssen verschiedene Pfade angepasst werden. So muss der Pfad des Home-Folder der Website oder auch der Pfad für die eigenen Templates bzw. Renderings usw… richtig gesetzt werden. Zusätzlich kann sich die Struktur der Seiten bzw. die Art, wie lokale Datasources abgelegt werden, unterscheiden. Dies sollte ebenso beachtet werden.

Alle aktiven Reminder auflisten
Um alle Items mit aktiven Remindern aufzulisten, kann dieses Script verwendet werden.

In der Methode IsReminderSet werden die drei Felder Reminder date, Reminder recipients und Reminder text dahingehend geprüft, ob min. eines davon gesetzt ist. Falls ja, wird dieses Item dann in der Resulatsanzeige gelistet.

Aktive Reminder

Alle gesetzten Short URLs anzeigen
Für die Auflistung aller Aliases ist dieses Script sinnvoll.

Die Methode Get-AllAliases liefert alle Aliases der Website zurück. Die Methode Get-PageName holt sich den Namen der verlinkten Seite und die Methode Get-LongURL gibt die URL der Zielseite zurück, relativ zur Website.

Alle Aliase

Alle verwaisten Assets auflisten
Um alle nicht mehr verlinkten Assets (Bilder, Dokumente, usw…) zu lokaliseren, kann dieses Script eingesetzt werden.

Die Methode HasReference prüft, ob das Item Referrer enthält und die Methode IsFile, ob es sich um ein File-Item handelt. In der Methode Get-MediaItemWithNoReference wird über alle Media-Items iteriert und die beiden anderen Methoden aufgerufen. Ausserdem werden hier verschiedene Pfade ignoriert.

Verwaiste Assets

Alle verwaisten Datasources anzeigen
Oft kann es nützlich sein, nicht mehr verlinkte Datasources aufzulisten. Für diesen Zweck kann dieses Script eingesetzt werden.

Erklärungen zum Code finden sich in den Kommentaren.

Verwaiste Datasources

Alle verwaisten Renderings auflisten
Dieses Script eignet sich für das Auffinden von verwaisten Renderings. Also Renderings, die nicht mehr mit einer Seite oder anderen Items verlinkt sind.

Erklärungen zum Code finden sich auch hier in den Kommentaren.

Verwaiste Renderings

Alle unpublizierten Seiten anzeigen
Um alle unpublizierten Seiten zu finden, kann dieses Script eingesetzt werden.

In der Methode IsPage wird geprüft, ob ein Item eine Seite ist. In der Methode IsPublished wird geprüft, ob es in der web-Datenbank vorkommt, also publiziert wurde. Falls negativ, werden alle Sprachversionen in der Methode Get-AllLanguageVersions in der master-Datenbank gesucht. Falls positiv, werden nur die fehlenden Sprachversionen in der Methode Get-MissingLanguageVersions gesucht. In der Methode Get-AllUnpublishedPages wird schliesslich durch alle Seiten iteriert und die Methoden IsPage und IsPublished verwendet.

unpublished_pages

Ich hoffe, ich konnte durch diesen Artikel nützliche Sitecore-PowerShell-Scripte vorstellen und möglicherweise auch Lust auf eigene Gehversuche bzw. Ideen mit dem PowerShell-Modul für Sitecore machen.

2 Gedanken zu “Nützliche PowerShell-Scripts für Sitecore

    • Dear Mr. West, it’s an honor that you as a lead developer of the Sitecore PowerShell Extensions are reading this blog. Thank you very much for your comment. I created these reports some weeks ago with the PowerShell Extensions 4.0. I recently installed PowerShell Extensions 4.1 and saw that you added some more very useful content reports. This new PowerShell module makes some of my reports obsolete. So I think it could be useful if you included reports like “ActiveReminders.ps1” and “OrphanedRenderings.ps1”. The other reports are either already included in PowerShell 4.1 or are too specific respectively need some adjustments to use in a Sitecore solution. And I would appreciate your suggestion with adding dialogs for selection the start path, thats a very good idea. Kind regards.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>