PowerShell Toolbox: Search Settings setzen
avatar

Mein heutiger Beitrag aus dem Bereich PowerShell Toolbox adressiert ein Problem welches häufig in größeren Umgebungen auftritt. Wenn in einer Umgebung viele Websitesammlungen (Site Collections) vorhanden sind, möchte man gerne bestimmte Einstellungen überall gleich setzen. Dieses gilt u.a. auch für die Sucheinstellungen der Websitesammlung. In einem konkreten Kundenszenario hatten wir die Anforderung, dass sichergestellt werden sollte, dass bestimmte Sucheinstellungen überall gleich sind.

Nun kann man natürlich sich aus der Zentraladministration alle vorhandenen Websitesammlungen heraussuchen und diese einzeln durchgehen und die Werte per Hand bzw. über die Oberfläche setzten.

Die weitaus schnellere und auch robustere Möglichkeit ist, dies über ein PowerShell-Skript zu erledigen. Da hierdurch keine Websitesammlung vergessen werden kann, oder Fehler beim setzen auftreten können. In unserem Fall sollen folgende Einstellungen verändert werden:

  • Einstellung für das “Websitesammlungs-Suchcenter” / “Site Collection Search Center” (SRCH_ENH_FTR_URL)
  • Einstellung für den “Dropdownmodus der Websitesammlungssuche” / “Site Collection Search Dropdown Mode” (SRCH_SITE_DROPDOWN_MODE)
  • Einstellung für die “Zielergebnisseite der Websitesammlung” / “Site Collection Search Results Page” (SRCH_TRAGET_RESULTS_PAGE)

Hierzu wird über eine ForEach-Schleife durch alle Websitesammlungen einer Webanwendung gegangen und die entsprechenden Werte über “$web.AllProperties” gesetzt.

$mywebapp= "http://virtual_SPTSL01"
$webApp = Get-SPWebApplication $mywebapp; 
$siteCollections = $webApp | Get-SPSite –limit all; 
$siteCollections | ForEach-Object { 
$web = $_.RootWeb 
$web.AllProperties["SRCH_ENH_FTR_URL"] = "https://virtual_SPTSL01/search/pages"; 
$web.AllProperties["SRCH_SITE_DROPDOWN_MODE"] = "ShowDD_DefaultContextual"; 
$web.AllProperties["SRCH_TRAGET_RESULTS_PAGE"] = "/_layouts/OSSSEarchResults.aspx"; 
$web.Update(); 
}

In der folgenden Tabelle sind sowohl die englischen als auch deutschen Bezeichnungen des Drop-Down Feldes für “Dropdownmodus der Websitesammlungssuche” dargestellt, eine kurze Beschreibung und der Wert, der für das Property “SRCH_SITE_DROPDOWN_MODE” gesetzt werden muss.

 

 

Property-Wert

Englische Bezeichnung in der Oberfläche

Deutsche Bezeichnung in der Oberfläche

Beschreibung

HideScopeDD_ DefaultContextual

Do not show scopes dropdown, and default to contextual scope

Bereichsdropdown nicht anzeigen und Kontextbereich als Standard verwenden

Dies ist die Standardeinstellung. Die Dropdownliste mit den Bereichen wird auf keiner Seite angezeigt, und für alle Abfragen wird standardmäßig der Kontextbereich verwendet, z. B. die aktuelle Website oder Liste, die durchsucht wird.

HideScopeDD

Do not show scopes dropdown, and default to target results page

Bereichsdropdown ausblenden und Zielergebnisseite als Standard verwenden

Bei dieser Option wird die Dropdownliste mit den Bereichen nicht gerendert, aber alle Abfragen werden nicht mit kontextbezogenen Bereichen verwendet. Es handelt sich um eine Suche mit benutzerdefiniertem Bereich in allen Websites. Wenn für Websitesammlungs-Suchcenter die Verwendung von benutzerdefinierten Bereichen aktiviert ist, wird für alle Abfragen das in der URL dieser Eigenschaft angegebene Suchcenter verwendet. Für die Eigenschaft Websitesammlungs-Suchcenter muss die Verwendung von benutzerdefinierten Bereichen aktiviert sein. Andernfalls werden alle Abfragen auf der Suchergebnisseite für die Websitesammlung angezeigt. Die Standardmäßig ist dies >/_layouts/OSSSearchResults.aspx.

ShowDD

Show scopes dropdown

Bereichsdropdown einblenden

Dadurch wird die Dropdownliste mit den Bereichen auf jeder Seite gerendert, und der Bereich, der als Standardwert in der Dropdownliste angezeigt wird, ist der kontextbezogene Bereich. Wenn benutzerdefinierte Bereiche nicht aktiviert sind, zeigt die Dropdownliste den Standardbereich in der Anzeigegruppe für benutzerdefinierte Bereiche an.

ShowDD_DefaultURL

Show, and default to ‘s’ URL parameter

Einblenden und standardmäßig den URL-Parameter ‘s’ verwenden

Diese Eigenschaft ähnelt der Eigenschaft Bereichsdropdown einblenden. Der Unterschied besteht jedoch darin, dass hier, sobald eine Abfrage ausgeführt wurde, der Standardbereich, der in der Dropdownliste mit den Bereichen angezeigt werden soll, der gleiche Bereich wie in der ursprünglichen Abfrage ist.

ShowDD_DefaultContextual

Show, and default to contextual scope

Einblenden und standardmäßig den kontextbezogenen Bereich verwenden

Dadurch wird die Dropdownliste mit den Bereichen auf jeder Seite gerendert. Der Bereich, der als Standardwert in der Dropdownliste angezeigt wird, ist der kontextbezogene Bereich, unabhängig davon, ob benutzerdefinierte Bereiche aktiviert sind oder nicht.

ShowDD_NoContextual

Show, do not include contextual scopes

Einblenden und kontextbezogene Bereiche nicht einschließen

Dadurch wird die Dropdownliste mit den Bereichen auf allen Seiten gerendert, sie enthält aber keine kontextbezogenen Bereiche. Diesen Wert sollten Sie nur verwenden, wenn benutzerdefinierte Bereiche aktiviert sind. Der Standardbereich in der Dropdownliste ist der Standardbereich in der Anzeigegruppe für benutzerdefinierte Bereiche.

ShowDD_NoContextual_ DefaultURL

Show, do not include contextual scopes, and default to ‘s’ URL parameter

Einblenden, kontextbezogene Bereiche nicht einschließen und standardmäßig den URL-Parameter ‘s’ verwenden

Diese Eigenschaft ähnelt der Eigenschaft Einblenden und standardmäßig den URL-Parameter ‘s’ verwenden. Der Unterschied liegt darin, dass kontextbezogene Bereiche nicht in die Dropdownliste mit den Bereichen eingeschlossen werden

Das fertige Skript gibt es wie immer zum Download: hier

Ein Gedanke zu “PowerShell Toolbox: Search Settings setzen
avatar

  1. Pingback: PowerShell Toolbox: Search Settings setzen - SharePoint Blogs in German - Bamboo Nation

Hinterlasse eine Antwort

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


+ eins = 6

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>