Das Problem

In mehreren Kundenprojekten stießen wir auf eine Problematik, die sich nur schwer erklären ließ: „Manchmal“ schienen PnP-Commands nicht die Auswirkung zu haben, die wir erwarteten. Beispielsweise funktionierte das Update der Beschreibung einer SharePoint-Seite für den Entwickler ohne Probleme, andere Nutzer der SharePoint-Seite konnten die Änderung aber nicht sehen!

Oder: Nach dem Export eines Seiten-Templates mit Get-PnPSiteTemplate wurden die Namen von Dokumentenbibliotheken, Feldern und Views auf Englisch exportiert, obwohl die Sprache der Website auf Deutsch eingestellt war!

Die Ursache

Die beiden beschriebenen Probleme haben die gleiche Ursache: PnP -Befehle sind abhängig von der Sprache des Benutzers, der das PnP-Script ausführt. Was ist mit Sprache gemeint? SharePoint, Web-Browser, Delve? Die Antwort lautet: Delve – die Sprache des Microsoft 365 Benutzerprofils ist ausschlaggebend.

Die Lösung, bzw. wie man diese Probleme vermeiden kann

Mit diesem Wissen lassen sich viele Probleme in der Arbeit mit PnP-PowerShell vermeiden. Bevor man ein Update auf sprachabhängige Feldern (wie z. B die Seiten-Beschreibung oder die Namen von Listen und Bibliotheken) macht oder ein Website-Template exportiert, sollte man sich fragen: Auf welche Sprache bin ich aus? Das Update oder der Export beziehen sich immer auf die Sprache, die aktuell in meinem Delve-Profil eingestellt ist.

Exportiere ich also ein Seiten-Template und möchte dieses nutzen, um eine deutsche Website anzulegen, sollte ich darauf achten, dass die Sprache im Benutzerprofil meines Benutzers auch auf Deutsch eingestellt ist, bevor ich den Export anstoße. Auf diese Weise werden die Namen der Dokumentenbibliotheken auf Deutsch exportiert und somit auch wieder auf Deutsch importiert. Das Gleiche gilt für Spaltennamen und die Namen von Views.

Auch beim Update der Seiten-Beschreibung kommt es auf die Sprache an: Im oben genannten Beispiel hatte der Entwickler ein englisches Benutzerprofil und sah sich die Website auf Englisch an (seine Browsersprache war ebenfalls auf Englisch eingestellt). Andere Nutzer (Profilsprache Deutsch, Browsersprache Deutsch) konnten seine Änderungen an der Seitenbeschreibung nicht sehen, da sie nur die deutsche Version des Strings angezeigt bekamen – er hatte aber durch seinen PnP-Update-Befehl den englischen verändert.

Fazit

Beim Ausführen von PowerShell PnP-Befehlen muss unbedingt die Sprache des Benutzerprofils des ausführenden Benutzers im Auge behalten werden. Eine Anleitung, wie man die Sprache einsehen und verändern kann, findet man in den FAQs von Delve, unter „Wie kann ich die Sprache in Delve ändern“.

Von Published On: 25. Mai 2023Schlagwörter: ,

Bereit zum Gespräch

Habt Ihr eine Idee, bei der wir helfen können?