Verwenden von Skripts zum Installieren von Search Server 2008

Die Verwendung von Skripts zur Installation von Microsoft Search Server 2008 ermöglicht unbeaufsichtigte Installationen von Search Server 2008, das Aufrechterhalten der Konsistenz zwischen Installationen sowie die Serverwiederherstellung nach einem Systemfehler.

Dieser Artikel basiert auf dem Whitepaper von Ben Curry, CISSP, Office SharePoint Server MVP. Er wurde mit Genehmigung des Autors für die Veröffentlichung in Microsoft TechNet modifiziert. Das ursprüngliche Whitepaper sowie begleitende Skripts sind auf der Mindsharp-Website zum Download verfügbar.

Übersicht

In diesem Artikel wird das Erstellen von Skripts beschrieben, mit denen Sie die grundlegende Funktionalität von Search Server 2008 installieren und konfigurieren können. Zur einfacheren Erstellung, Verwaltung und Portabilität werden drei separate Skripts erstellt. Jedes Skript erfüllt eine andere Funktion bei der Installation.

Tipp

Sie könnten alle Skripts in einem Masterskript zusammenfassen. Sie getrennt zu halten und in einem Masterskript aufzurufen, hat sich jedoch als die beste Methode erwiesen.

In diesem Artikel wird beschrieben, wie vorhandene Skripts geändert werden, die im Bereich für Premiuminhalte unter http://www.mindsharp.com kostenlos zur Verfügung stehen, oder wie neue Skripts zur Installation von Search Server 2008 in einer Farmumgebung erstellt werden. Der grundlegende Vorgang ist im Folgenden beschrieben.

  1. Erstellen Sie eine ganz einfache Konfigurationsdatei namens config.xml. Anhand dieser Konfigurationsdatei werden von setup.exe die zu installierenden Binärdateien, die Installationsmethode und die Product Key-Informationen bestimmt.

  2. Erstellen Sie drei Skripts.

    • bits.cmd   Durch dieses Skript werden die Binärdateien für die jeweilige Installation installiert. Es erfordert die Konfigurationsdatei config.xml.

    • farm-build.cmd   Durch dieses Skript werden die anfängliche Konfigurationsdatenbank erstellt, die Zentraladministration erstellt und bereitgestellt sowie die erforderlichen Dienste in der Farm gestartet.

    • farm-connect.cmd (optional)   Wenn die Suchfarm mehrere Server umfassen soll, benötigen Sie dieses Skript, um die zusätzlichen Server an die zuvor erstellte Konfigurationsdatenbank anzufügen.

  3. Führen Sie die vorherigen Skripts in der Reihenfolge aus, in der sie erstellt wurden.

  4. Debuggen Sie die Skripts und beheben Sie ggf. die Fehler – beispielsweise Schreibfehler, Fehler bei Benutzername und Kennwort oder Servernamen.

    Testen Sie die Skripts so lange, bis sie fehlerfrei ausgeführt werden.

    Wichtig

    Es ist sehr wichtig, eine fehlerfreie Installation zu erhalten, wenn Remoteinstallationen ausgeführt oder Skripts für die Notfallwiederherstellung verwendet werden sollen.

Bevor Sie beginnen

Bevor Sie mit der Skripterstellungsphase fortfahren, müssen Sie bestimmen, wie die Search Server 2008-Farm bereitgestellt wird. Bei einer eigenständigen Installation wird Microsoft SQL Server 2005 Express Edition vom Installationsprogramm installiert. Obwohl dies die Installation vereinfacht, werden die meisten Administratoren diese Installationsmethode nicht verwenden, da sie damit auf einen einzelnen Server beschränkt sind. Stattdessen wird in diesem Artikel eine Search Server 2008-Installation beschrieben, bei der entweder SQL Server 2005 Standard Edition oder SQL Server 2005 Enterprise Edition verwendet wird.

Tipp

Diese Skripts wurden nicht mit Variablen umgestaltet, da jede Farminstallation anders ist. Sie müssen die Skripts so bearbeiten, dass sie die gewünschte Implementierung wiedergeben. Zu Referenzzwecken wurden die Skripts für einen Computer mit SQL Server namens app1 und einen Computer mit Search Server 2008 namens app2 entworfen. Sie müssen die Servernamen, die Active Directory-Domäne und die Benutzernamen entsprechend bearbeiten.

Voraussetzungen und Annahmen

Überprüfen Sie die Hardware- und Softwareanforderungen, die unter https://technet.microsoft.com/en-us/library/bb905370.aspx regelmäßig aktualisiert werden.

Da die Skripts auch eine Basis für einen Active Directory-Namen, Benutzernamen, ein Kennwort und Servernamen benötigen, wurden die folgenden Namen verwendet, die Sie für die Bereitstellung ändern müssen:

  • contoso.msft – Active Directory-Name

  • contoso\mossfarm – Farmkonto (Anwendungspoolidentität für die Zentraladministration)

  • contoso\mosscrawler – Konto des Suchcrawlers (Standardkonto zum Inhaltszugriff für Microsoft Office SharePoint Server 2007 und Windows SharePoint Services 3.0)

  • contoso\mossservice – Konto der Basisdienste

  • contoso\sspapid – Anwendungspoolidentität des Hosts für gemeinsame Dienste

  • contoso\sspservice – SSP-Dienstkonto

  • contoso\portalapid – Anwendungspoolidentität für das Suchportal

Das Konto des Farmadministrators muss ein Mitglied der festen Serverrollen dbcreator und securityadmin in SQL Server sein. Zudem muss es bei der Installation ein Mitglied der Gruppe Administratoren auf dem lokalen Server sein. Alle anderen Berechtigungen werden automatisch bei der Installation erteilt. Sie müssen sich für die Installation unter dem Konto Farmadministrator anmelden oder ein anderes Konto erstellen, das als Konto für das Installationsprogramm verwendet wird.

Wenn Sie eine weitere Isolation von Dienstkonten wünschen, können Sie das Skript nach Bedarf ändern. In den Skripts wird ein gemeinsames Dienstkonto angenommen. Wenn Sie einen einzelnen Anwendungspool mit zugeordneter Identität wünschen, sollten Sie das Skript entsprechend ändern. In den Skripts wird für jede erstellte Webanwendung ein separater Anwendungspool und eine zugeordnete Identität erstellt.

Die Testfarm für die Skripts umfasst folgende Server:

  • App1 – Standardinstallation von Microsoft SQL Server 2005 Service Pack 2 (SP2) und Teil der Active Directory-domäne contoso.msft.

  • App2 – Teil der Active Directory-Domäne contoso.msft.

  • QueryN – Abfrageserver, die das Skript farm-connect.cmd verwenden. Diese sollten ebenfalls Teil der Active Directory-Domäne contoso.msft sein.

Ändern von "config.xml" und Installieren der Binärdateien

Um mit der Skripterstellung für eine Search Server 2008-Installation zu beginnen, müssen Sie eine Kopie der Datei config.xml erstellen, die sich auf dem Installationsmedium befindet. Die Datei config.xml wird von setup.exe als Anweisung für die Installation der Binärdateien verwendet. Nachdem Sie eine Kopie der Datei geändert haben, wird sie bei der Installation verwendet. Sie beeinflusst, welche Software installiert wird und wie sie installiert wird, automatisiert den Eintrag der Produkt-ID vom Installationsmedium und definiert, ob eine grafische Darstellung des Installationsprozesses angezeigt wird.

Sie finden mehrere Beispiele auf dem Installationsmedium unter x86\Files\Setup<Typ> für 32-Bit-Medien und unter x64\Files\Setup<Typ> für 64-Bit-Medien. Wenn Sie die herunterladbare Testversion von Search Server 2008 verwenden, müssen Sie zuerst den Inhalt extrahieren. Führen Sie dazu an einer Eingabeaufforderung den folgenden Befehl aus:

searchservertrial.exe /extract: <Laufwerk> :\ <Ordner>

Dabei gilt:

  • <Laufwerk> ist der Laufwerkbuchstabe, auf dem Sie den Inhalt der ausführbaren Datei extrahieren möchten.

  • <Ordner> ist der Name des Ordners, in dem Sie den Inhalt der ausführbaren Datei extrahieren möchten.

Im Verzeichnis <Laufwerk>:\<Ordner>\files\SetupFarmSilent finden Sie eine Kopie der Datei config.xml. Zur vollständigen Automatisierung der Installation von Search Server 2008 müssen Sie diese Datei bearbeiten. Erstellen Sie zum Erstellen und Testen der Skripts ein Verzeichnis, beispielsweise C:\Skripts, und kopieren Sie die Datei config.xml in diesen Speicherort. Es wird nicht empfohlen, die Datei mit einem XML-Editor, wie Microsoft Visual Studio, zu bearbeiten. Sie können beispielsweise Notepad.exe verwenden, sodass die Formatierung nicht geändert wird. Im Folgenden ist ein Beispiel für die standardmäßige Datei config.xml angegeben.

<Configuration>
<Package Id="sts">
<Setting Id="LAUNCHEDFROMSETUPSTS" Value="Yes"/>
<Setting Id="REBOOT" Value="ReallySuppress"/>
<Setting Id="SETUPTYPE" Value="CLEAN_INSTALL"/>
</Package>

<Logging Type="verbose" Path="%temp%" Template="Search Server Setup(*).log"/>
<Display Level="none" CompletionNotice="no" />
<Setting Id="SERVERROLE" Value="APPLICATION"/>
<Setting Id="USINGUIINSTALLMODE" Value="0"/>
</Configuration>

Vor dem Ändern von "config.xml"

Abhängig von den zu installierenden Binärdateien und Diensten haben Sie zwei Möglichkeiten für die Art der Installation. Folgende Optionen stehen zur Auswahl:

  • SINGLESERVER   Mit der Option SINGLESERVER, die durch Ändern des SERVERROLE-Parameters festgelegt wird, wird Microsoft SQL Server 2005 Express Edition zusammen mit den Binärdateien für Search Server 2008 installiert. Dieser Artikel enthält keine Anweisungen zu dieser Option.

  • APPLICATION   Mit der Option APPLICATION werden alle Binärdateien zur Unterstützung von Search Server 2008 bis auf SQL Server installiert. Es muss bereits eine Instanz von SQL Server 2005 Standard oder Enterprise Edition installiert sein, auf die von dem Server zugegriffen werden kann, der Search Server 2008 hostet. Diese Installationsoption wird im vorliegenden Artikel verwendet.

Ändern von "config.xml"

Die Einstellung Display Level sollte auf none festgelegt sein, da beim Wert Basic keine benutzerdefinierten Parameter vom Installationsskript verwendet werden. Sie sollten auch die Einstellung USINGUIINSTALLMODE auf dem Wert 0 belassen.

Anschließend müssen Sie einen Eintrag für die Produkt-ID (PIDKEY Value) einfügen, die sich auf dem Installationsmedium befindet. Das folgende Beispiel veranschaulicht diese Einstellungen.

<Configuration>
<Package Id="sts">
<Setting Id="LAUNCHEDFROMSETUPSTS" Value="Yes"/>
<Setting Id="REBOOT" Value="ReallySuppress"/>
<Setting Id="SETUPTYPE" Value="CLEAN_INSTALL"/>
</Package>
<Logging Type="verbose" Path="%temp%" Template="Search Server Setup(*).log"/>
<Display Level="none" CompletionNotice="no" AcceptEULA="Yes" /> 
<PIDKEY Value="D2KBC-9JQ6T-4P6C2-F7BFF-BB96D" /> 
<Setting Id="SERVERROLE" Value="APPLICATION"/>
<Setting Id="USINGUIINSTALLMODE" Value="0"/>
</Configuration>

Tipp

Im vorherigen Beispiel wird ein Schlüssel für die Testversion von Search Server 2008 verwendet. Sie müssen einen Schlüssel für eine voll funktionsfähige Produktversion angeben.

Im Fall einer Remoteinstallation ist eine robuste Protokollierung nützlich. Daher sollten Sie einen Protokollspeicherort angeben, auf den Sie vom Remotestandort aus zugreifen können. Der Standardprotokollspeicherort befindet sich in %temp%. Dieser Speicherort wird nur für die Installation der Binärdateien verwendet, nicht für die Farmbereitstellung. Protokolle der Farmbereitstellung befinden sich im Verzeichnis 12 \Logs.

Erstellen des Skripts "bits.cmd"

Das Skript bits.cmd dient zur Installation der Binärdateien. In dem Skript wird setup.exe verwendet und auf die von Ihnen geänderte Datei config.xml verwiesen. Erstellen Sie das Skript mithilfe des folgenden Beispiels.

:: Installs binaries
:: Requires .NET2, .NET3, and IIS. As an alternative run the prerequisite installer.
@echo off
c:\searchiso\setup.exe /config c:\scripts\config.xml

An dieser Stelle haben Sie das erste Skript erstellt, das die Binärdateien auf dem ersten Server in der Farm installiert. Sie müssen nun noch die Serverfarm (Serverfarm = Konfigurationsdatenbank) und die erforderlichen Webanwendungen erstellen.

Erstellen des Skripts "farm-build.cmd"

Nach dem Installieren der Binärdateien müssen Sie die Search Server 2008-Farm bereitstellen. Die "Serverfarm" ist gleichbedeutend mit der Konfigurationsdatenbank. Eine vollständige Serverfarm umfasst in der Regel mehrere Server. Für diesen Artikel wird jedoch Search Server 2008 nur auf einem Computer installiert. Dies hindert Sie nicht daran, die Farm später dezentral zu skalieren. Das Erstellen einer Farm mit mehreren Servern wird in diesem Artikel nicht erläutert. Weitere Informationen finden Sie unter Planen der Redundanz (Search Server 2008). Stattdessen liegt der Schwerpunkt auf der Verwendung der Befehle psconfig.exe und stsadm.exe zum Erstellen eines Skripts für die Bereitstellung einer Farm mit einem Server.

Tipp

Am Ende des Artikels ist ein kurzes Beispielskript angegeben, das zeigt, wie weitere Server mit der Farm verbunden werden.

Nach dem Installieren der Binärdateien mit bits.cmd haben Sie Zugriff auf psconfig.exe in der Struktur 12: %COMMONPROGRAMFILES %\ Microsoft Shared\web server extensions\12\BIN\psconfig.exe. Definieren Sie zum Erstellen der Serverfarm die Instanz von SQL Server und den Datenbanknamen wie folgt:

psconfig.exe -cmd configdb -create -server app1 -database ContosoSearch_SharePoint_ConfigDB -user contoso\mossfarm -password P@ssw0rd -admincontentdatabase Central_Admin_Content

Mit dem vorherigen Befehl wird eine Serverfarm in einer Instanz von SQL Server namens app1 erstellt, mit einer Konfigurationsdatenbank namens ContosoSearch_SharePoint_ConfigDB. Außerdem werden eine Inhaltsdatenbank und eine eingebettete Websitesammlung für die Zentraladministration erstellt. Dies geschieht im Hintergrund, während Sie die grafische Benutzeroberfläche verwenden.

Tipp

Als Konto für das Installationsprogramm wird das Konto contoso\mossfarm verwendet. Dieses Konto benötigt nur zur Installation Administratorberechtigungen. Nach Abschluss der Installation können Sie die lokalen Administratorberechtigungen des Kontos entfernen.

Im nächsten Schritt muss die Zentraladministration auf mindestens einem Server in der Farm bereitgestellt werden. Sie haben die Webanwendung bereits erstellt, als Sie die Farm erstellt haben. Dennoch müssen Sie einen IIS-Server (Internet Information Services, Internetinformationsdienste) zum Rendern der Inhalte bereitstellen. In diesem Beispiel wird er auf app2, dem ersten Server in der Farm, mit dem folgenden Befehl installiert:

psconfig.exe -cmd adminvs -provision -port 12345 -windowsauthprovider onlyusentlm

Nach dem Bereitstellen der Zentraladministration müssen Sie alle Dienste installieren, die der installierten Serverrolle zugeordnet sind. Dies geschieht mit folgendem Befehl:

psconfig.exe -cmd services install

Der nächste, sehr wichtige Schritt besteht im Festlegen der Sicherheit für Registrierungseinstellungen und das Dateisystem. Auch ohne dies wird die Installation ordnungsgemäß abgeschlossen, es treten jedoch verschiedene Fehler auf.

psconfig.exe -cmd secureresources

Nachdem Sie die Farm erstellt, die Zentraladministration bereitgestellt, Dienste installiert und Ressourcen gesichert haben, müssen Sie die erforderlichen Dienste starten. Dies betrifft vor allem die Suchdienste. Zuerst wird Search Server 2008 mithilfe von stsadm.exe aus dem Verzeichnis \Bin der Struktur 12 gestartet. Sie sollten Parameter, wie die Leistungsebene und den Indexspeicherort, definieren.

Tipp

Obwohl im folgenden Skriptbeispiel C:\ als Indexspeicherort verwendet wird, ist es eine bewährte Methode, die Indexdateien auf einem anderen Volume als dem Systemlaufwerk zu platzieren.

stsadm.exe -o osearch -action start -role query -farmcontactemail administrator@contoso.msft -farmperformancelevel maximum -farmserviceaccount "contoso\mossservice" -farmservicepassword P@ssw0rd -propagationlocation c:\indexes

Starten Sie nach dem Starten des Suchdiensts die Windows SharePoint Services 3.0-Suche mit folgendem Befehl:

stsadm.exe -o spsearch -action start -farmserviceaccount contoso\mossservice -farmservicepassword P@ssw0rd -farmcontentaccessaccount contoso\mosscrawler -farmcontentaccesspassword P@ssw0rd -databaseserver app1 -databasename Contoso_WSS_App2_Search

An dieser Stelle sollten Sie mit dem folgenden Befehl überprüfen, ob alle Features richtig installiert wurden:

psconfig.exe -cmd installfeatures

Jetzt müssen Sie eine Webanwendung zum Hosten des Anbieters für gemeinsame Dienste für Search Server 2008 erstellen.

stsadm.exe -o extendvs -url http://ssp.contoso.msft -exclusivelyusentlm -databaseserver app1 -databasename Contoso_WSS_Content_SSP -donotcreatesite -description "Search Admin Host" -sethostheader -apidname SSP -apidtype configurableid -apidlogin contoso\sspapid -apidpwd P@ssw0rd

Nachdem Sie eine Webanwendung zum Hosten der Website zur Verwaltung der gemeinsamen Dienste erstellt haben, müssen Sie einen Anbieter für gemeinsame Dienste zur Verwaltung der Suche erstellen. Das folgende Beispiel zeigt dies:

stsadm.exe" -o createssp -title "Contoso Search" -url http://ssp.contoso.msft -ssplogin contoso\sspservice -indexserver app2 -indexlocation c:\indexes -ssppassword P@ssw0rd -sspdatabaseserver app1 -sspdatabasename Contoso_SSP_Config -searchdatabaseserver app1 -searchdatabasename Contoso_SSP_Search -ssl no

Der letzte erforderliche Codeabschnitt dient zum Erstellen der Webanwendung für den Suchanbieter. Dies sollte eine eigene Webanwendung zum Hosten des Suchcenters sein. Im folgenden Beispiel wird eine Webanwendung mit der URL http://search.contoso.msft erstellt.

stsadm.exe -o extendvs -url http://search.contoso.msft -ownerlogin "contoso\administrator" -owneremail "administrator@contoso.msft" -exclusivelyusentlm -ownername "Administrator" -databaseserver app1 -databasename Contoso_WSS_Content_Search_Center -sitetemplate srchcenterlite#1 -description "Contoso Search Center" -sethostheader -apidname PortalAppPool -apidtype configurableid -apidlogin contoso\portalapid -apidpwd P@ssw0rd

Der obige Befehl macht einige Erläuterungen erforderlich. Zunächst wird der extendvs-Parameter verwendet, um eine neue Webanwendung zu erstellen (früher "virtual server", daher der Teil vs im Befehlsnamen). Dann wird der Besitzer definiert, in diesem Beispiel contoso/administrator. Wenn Sie die Kerberos-Authentifizierung verwenden, finden Sie in der Referenz zu stsadm.exe weitere Informationen zur Ausführlichkeit. Außerdem müssen die Instanz von SQL Server und der Datenbankname definiert werden. Hier wurde app1 als Name der Instanz von SQL Server und Contoso_WSS_Content_Search_Center als Datenbankname verwendet.

Im verwalteten Stammpfad muss eine Websitesammlung erstellt werden. Im Beispiel lautet die URL http://search.contoso.msft/, wobei '/' das Suchcenter hostet. Die richtige Websitesammlungsvorlage ist srchcenterlite#1. Schließlich werden ein Anwendungspool namens PortalAppPool und eine Identität mithilfe von contoso/portalapid konfiguriert. Die Portal-Anwendungspoolidentität sollte bereits im Active Directory-Verzeichnisdienst erstellt worden sein.

Wenn Sie alle erforderlichen Befehle hinzugefügt haben, speichern Sie die Datei unter dem Namen farm-build.cmd.

Der folgende Code stellt ein vollständige Skript farm-build.cmd dar.

:: @Echo off
:: leaving echo ON for demonstration purposes
:: Farm_Build.cmd
:: Provisions configuration database and Central Administration
:: Creates http://ssp.contoso.msft, then creates SSP Admin in that Web app
:: Installer account requires DB Creator and Security Administrator on SQL Server
:: Pauses are for command verification and demonstration. you can remove if you want.
:: App1 is SQL Server
:: App2 is Search Server

:: Calling bits.cmd to install binaries
@call bits.cmd
Echo Ready to connect server to farm
pause
::Create Index Location on Index Server
@Echo Creating Index Location
mkdir \\app2\c$\indexes
@Echo Creating Farm
:: Creating Farm via populating the ConfigDB. Set SQL Servername, configDB name, Central Admin ContentDB, and Farm Account.
"c:\program files\common files\microsoft shared\web server extensions\12\bin\psconfig.exe" -cmd configdb -create -server app1 -database ContosoSearch_SharePoint_ConfigDB -user contoso\mossfarm -password P@ssw0rd -admincontentdatabase Central_Admin_Content
@Echo Provision Central Admin
::  Provision Central Admin Application on this server. Uses configDB and ContentDB above. Set port number to suit your requirements.
"c:\program files\common files\microsoft shared\web server extensions\12\bin\psconfig.exe" -cmd adminvs -provision -port 12345 -windowsauthprovider onlyusentlm
@Echo Install all Services
::  Install all services on the server
"c:\program files\common files\microsoft shared\web server extensions\12\bin\psconfig.exe" -cmd services install
@Echo Securing File System and Registry Keys
:: Set Security on File System and Registry Keys
"c:\program files\common files\microsoft shared\web server extensions\12\bin\psconfig.exe" -cmd secureresources
@Echo Starting MOSS Search
::  Start SharePoint Server Search Service with IndexQuery.Verify database and services names. Change role to Index if you are scaling out Search Server in the farm.Subsequent servers would only be Query.
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o osearch -action start -role IndexQuery -farmcontactemail administrator@contoso.msft -farmperformancelevel maximum -farmserviceaccount "contoso\mossservice" -farmservicepassword P@ssw0rd
@Echo Starting WSS Search
::  Start WSS Search. Verify database and service names.
"c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe" -o spsearch -action start -farmserviceaccount contoso\mossservice -farmservicepassword P@ssw0rd -farmcontentaccessaccount contoso\mosscrawler -farmcontentaccesspassword P@ssw0rd -databaseserver app1 -databasename Contoso_WSS_App2_Search
@Echo Installing all Features
::  Install all features on machine
"c:\program files\common files\microsoft shared\web server extensions\12\bin\psconfig.exe" -cmd installfeatures
@Echo Creating SSP Web
::  Create SSP Web application. Verify database and apid names. (APID = Application Pool Identity)
"c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe" -o extendvs -url http://ssp.contoso.msft -exclusivelyusentlm -databaseserver app1 -databasename Contoso_WSS_Content_SSP -donotcreatesite -description "SSP Admin Host" -sethostheader -apidname SSP -apidtype configurableid -apidlogin contoso\sspapid -apidpwd P@ssw0rd
::  We must reset IIS before building the SSP. If you are local on the box, you can check all services are created before creating SSP.
iisreset
@Echo Creating SSP
::  Create Search SSP. Verify all names and URLs.
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o createssp -title "Contoso Search" -url http://ssp.contoso.msft -ssplogin contoso\sspservice -indexserver app2 -indexlocation c:\indexes -ssppassword P@ssw0rd -sspdatabaseserver app1 -sspdatabasename Contoso_SSP_Config -searchdatabaseserver app1 -searchdatabasename Contoso_SSP_Search -ssl no
@Echo Creating Search Center
::  Creating Search Center. Change the URL if you will have a different URL than 'search'.
"c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe" -o extendvs -url http://search.contoso.msft -ownerlogin "contoso\administrator" -owneremail "administrator@contoso.msft" -exclusivelyusentlm -ownername "Administrator" -databaseserver app1 -databasename Contoso_WSS_Content_Search_Center -sitetemplate srchcenterlite#1 -description "Contoso Search Center" -sethostheader -apidname PortalAppPool -apidtype configurableid -apidlogin contoso\portalapid -apidpwd P@ssw0rd
:: If you receive an error during build, check that you have correctly modified the server :: names, database names, domain name, account names, and passwords for your specific 
:: implementation.

Erstellen des Skripts "farm-connect.cmd"

Nachdem Sie den ersten Server in der Farm konfiguriert haben, müssen Sie von jedem anderen Server, den Sie der Farm hinzufügen, eine Verbindung herstellen. Dieses Skript, farm-connect.cmd, wird auf anderen Servern als dem ersten Server in der Farm ausgeführt. Mit der folgenden Befehlsfolge wird das Skript erstellt.

Stellen Sie eine Verbindung mit einer vorhandenen Farm her, indem Sie die Instanz von SQL Server und die Konfigurationsdatenbank wie im folgenden Beispiel angeben:

psconfig.exe -cmd configdb -connect -server app1 -database ContosoSearch_SharePoint_ConfigDB -user contoso\mossfarm -password P@ssw0rd

Jetzt müssen Sie wie zuvor Dienste, Features sowie sichere Ressourcen installieren und Dienste starten. Im folgenden Beispiel werden alle Dienste und Features installiert und die Abfragerolle gestartet bzw. konfiguriert.

Tipp

Sie müssen zuerst den Suchdienst auf den nachfolgenden Servern starten und dann die Parameter für die Suche definieren.

psconfig.exe -cmd services install psconfig.exe -cmd installfeatures psconfig.exe -cmd secureresources

stsadm.exe -o osearch -action start -role query -farmcontactemail administrator@contoso.msft -farmperformancelevel maximum -farmserviceaccount "contoso\mossservice" -farmservicepassword P@ssw0rd

stsadm.exe-o osearch -action start -role query -farmcontactemail administrator@contoso.msft -farmperformancelevel maximum -farmserviceaccount "contoso\mossservice" -farmservicepassword P@ssw0rd -propagationlocation c:\indexes

Wichtig

Wenn die Farm mehrere Abfrageserver umfasst, müssen Sie überprüfen, ob der Indexserver nicht auch die Abfragerolle hostet.

Der folgende Code stellt ein vollständige Skript farm-connect.cmd dar.

:: Farm_Connect.cmd
:: Use on all WFE (query) Servers in Farm
:: Verify query role is not turned on for Index Server
:: @Echo On (off for demo)
:: Calling bits.cmd to install binaries
@call bits.cmd
Echo Ready to connect server to farm
pause
"c:\program files\common files\microsoft shared\web server extensions\12\bin\psconfig.exe" -cmd configdb -connect -server app1 -database ContosoSearch_SharePoint_ConfigDB -user contoso\mossfarm -password P@ssw0rd
"c:\program files\common files\microsoft shared\web server extensions\12\bin\psconfig.exe" -cmd services install
"c:\program files\common files\microsoft shared\web server extensions\12\bin\psconfig.exe" -cmd installfeatures
:: Setting Security on Registry and File System
@Echo Ready to Set Security on File System and Registry
"c:\program files\common files\microsoft shared\web server extensions\12\bin\psconfig.exe" -cmd secureresources
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o osearch -action start -role query -farmcontactemail administrator@contoso.msft -farmperformancelevel maximum -farmserviceaccount "contoso\mossservice" -farmservicepassword P@ssw0rd
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o osearch -action start -role query -farmcontactemail administrator@contoso.msft -farmperformancelevel maximum -farmserviceaccount "contoso\mossservice" -farmservicepassword P@ssw0rd -propagationlocation c:\indexes
iisreset / noforce

Schlussbemerkung

Testen und debuggen Sie Farminstallationsskripts immer in einer Testserverfarm, bevor Sie sie in einer Produktionsumgebung verwenden. Skripts sind selten beim ersten Versuch fehlerfrei. Vielmehr handelt es sich um einen iterativen Vorgang.

Besonders für Skripts zur Notfallwiederherstellung ist es sehr wichtig, dass sie vollständig getestet und funktionsfähig sind. In diesem Fall haben Sie nur einen Versuch. Versuchen Sie nicht zu erraten, warum das Skript nicht funktionsfähig ist. Wie immer verwenden Sie die Beispiele auf eigenes Risiko. Die Empfehlung lautet daher: testen, testen und nochmals testen!