Grundsätzlich ist es einfach, mit Hilfe eines PowerShell Skriptes den Titel einer SharePoint Website zu setzen. Dafür braucht es nur diesen Code:

$siteUrl = "http://yoursiteurl";
$web = Get-SPWeb $siteUrl;
$web.Title = "neuer Titel";
$web.Update();

Das Skript haben wir schon vielfach genutzt und auf diversen Systemen ausgeführt. Auf einem Kundensystem lief dieses Skript zwar fehlerfrei durch, doch kam die Änderung des Titel scheinbar nicht im SharePoint an. In der Oberfläche war nach wie vor der alte Titel zu sehen.

Das Wörtchen “scheinbar” verrät schon, dass es in Wirklichkeit nicht so war. Der Unterschied des Kundensystems lag in einem winzigen Detail:

Der Server war englisch, die Site Collection aber in deutsch angelegt. Folglich läuft das PowerShell Skript (ausgeführt auf dem Server) mit englischen Spracheinstellungen und setzt daher den “englischen” Titel der Site Collection. Das konnten wir auch wunderbar nachvollziehen, indem einfach in der SharePoint Oberfläche die englische Sprache aktiviert und auf englische Anzeige umgestellt wurde.

 

Wenn man nun also gezielt den Titel für eine bestimmte Sprache in SharePoint setzen möchte, so ist es nötig das Skript mit der bestimmten Spracheinstellung laufen zu lassen. Dazu ist diese zusätzliche Zeile notwendig, die die Umgebungssprache (in diesem Fall deutsch = 1031) des Skripts setzt:

[System.Threading.Thread]::CurrentThread.CurrentUICulture = 1031;

 

Das gesamte Skript sieht dann also so aus:

[System.Threading.Thread]::CurrentThread.CurrentUICulture = 1031;

$siteUrl = "http://yoursiteurl";
$web = Get-SPWeb $siteUrl;
$web.Title = "neuer Titel";
$web.Update();

Noch kurz zur Erklärung:

Die Magie steckt dabei in der Eigenschaft “Title” der SPWeb Klasse, die die aktuellen Spracheinstellungen überprüft. Dadurch ist es auch in der SharePoint Oberfläche möglich, den Titel einer Website für mehrere Sprachen unterschiedlich zu gestalten.

1 Comments

  1. avatar

    Ingo Schönfeld

    Antworten

    Vor einigen Tagen war ich mit dem selben Problem konfrontiert. Eine Alternative zu oben beschriebener Lösung ist dieses PowerShell-Kommando:

    $web.TitleResource.SetValueForUICulture(1031, „Mein deutscher Website-Titel“)
    $web.Update()“

Leave a comment

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

Time limit is exhausted. Please reload the CAPTCHA.