SharePoint

Leistungsstarke Befehlszeilenverwaltung für SharePoint

Todd Klindt

 

Kurz zusammengefasst:

  • SharePoint-Konfiguration mit STSADM
  • Skriptprogrammierung täglicher Administrationsaufgaben
  • Erweiterte STSADM-Befehle

Überlegen Sie sich, wie Benutzer mit Windows oder Microsoft Office interagieren. Einige Benutzer verwenden am liebsten die Maus und den Mauszeiger zur Navigation in Menüs und Symbolleisten, um häufige Aufgaben durchzuführen. Andere verwenden lieber

die Tastatur und führen schnell vertraute Tastatureingaben und Tastenkombinationen aus. Für jede Aufgabe gibt es stets mehrere Durchführungsmöglichkeiten.

Tatsache ist, dass eine grafische Benutzeroberfläche oft einfach zu verwenden ist, aber für Aufgaben, die die wiederholte Durchführung der gleichen Schritte erfordern, ebenso umständlich sein kann. Einige Dinge sind mit der Tastatur einfacher zu erledigen. Falls Sie mit SharePoint®-Administrationsaufgaben betraut sind, haben Sie wahrscheinlich bereits erfahren, wie es ist, wenn man in einer grafischen Benutzeroberfläche festgefahren ist. SharePoint bietet aber eine leistungsstärkere Möglichkeit, die Arbeit zu erledigen.

Die Hauptschnittstelle zur Verwaltung von Windows® SharePoint Services (WSS) und Microsoft® Office SharePoint Server 2007 (MOSS) ist die GUI-basierte SharePoint-Zentraladministration. SharePoint umfasst außerdem ein Befehlszeilen-Tool für die leistungsstärkere Administration. Dieses Tool mit der Bezeichnung STSADM.exe bietet alle Funktionen der SharePoint-Zentraladministration, aber darüber hinaus die Befehlszeilenflexibilität, die viele Administratoren schätzen. In diesem Artikel erhalten Sie eine Einführung in die Verwendung von STSADM zur Verwaltung von WSS und MOSS. Ich werde Ihnen auch einige Tipps zur Konfiguration Ihrer Umgebung geben und einige häufig verwendete STSADM-Befehle besprechen. Ich werde Ihnen sogar einige fortgeschrittene STSADM-Befehle zeigen, die Sie wie einen Helden aussehen lassen, wenn diese Befehle je notwendig sein sollten.

Erste Schritte

Falls Sie noch nicht auf STSADM gestoßen sind, könnte es daran liegen, dass das Tool etwas versteckt ist. In Windows SharePoint Services 2.0 ist es standardmäßig unter c:\Programme\Gemeinsame Dateien\microsoft shared\web server extensions\60\bin zu finden. In Version 3.0 unter c:\Programme\Gemeinsame Dateien\microsoft shared\web server extensions\12\bin.

Um den Zugriff auf dieses Tool zu erleichtern, verwende ich zwei verschiedene Ansätze. Zunächst füge ich dieses Verzeichnis einfach zu meiner Umgebungsvariablen PATH hinzu. Dadurch kann ich STSADM immer dann verwenden, wenn ich im Dateisystem arbeite. Das ist allerdings nicht in jeder Situation möglich. Mein zweiter Ansatz besteht darin, eine Verknüpfung zu CMD.EXE zu erstellen und den STSADM-Speicherort als Ausgangsverzeichnis einzustellen. Warum keine direkte Verknüpfung mit STSADM herstellen? Das funktioniert nicht, weil STSADM nicht interaktiv ist. Wenn Sie daher eine direkte Verknüpfung mit STSADM herstellen, wird die Verwendung des Tools kurz angezeigt, dann verschwindet diese Anzeige.

Um STSADM auszuführen, müssen Sie Mitglied der lokalen Administratorengruppe auf dem Webserver sein und die Anwendung lokal ausführen. Das bedeutet, Sie können STSADM nicht für die Remote-Administration eines SharePoint-Servers einsetzen.

Um zu sehen, welche Befehle Sie mit STSADM durchführen können, geben Sie auf einer Befehlszeile stsadm.exe -help ein. Überprüfen Sie diese Liste, nachdem Sie Aktualisierungen und Hotfixes in SharePoint übernommen haben, da evtl. neue Befehle hinzugefügt wurden. Unter go.microsoft.com/fwlink/?LinkId=77516 finden Sie auch eine praktische Anleitung zu stsadm.exe.

STSADM-Grundlagen

Wir wollen zunächst einige der Befehle betrachten, die Sie evtl. zur Einstellung Ihrer bestehenden SharePoint-Installation verwenden. Sie können mit STSADM Funktionen zu SharePoint hinzufügen und Konfigurationseinstellungen ändern.

STSADM verwendet den Parameter -o gefolgt von dem Befehl, den Sie durchführen möchten. Wenn Sie nur STSADM -operationname eingeben, funktioniert das nicht. Wenn Sie z. B. Websitevorlagen zu Ihrer Installation hinzufügen möchten, können Sie folgenden Befehl verwenden:

Stsadm -o addtemplate -filename <filename of the template> 
-title <title of template> -description <description of template>

Oder, wenn Sie ein Web Part Package hinzufügen möchten, verwenden Sie diesen Befehl:

Stsadm -o addwppack -filename <filename of the Web Part Package>

Um Details zur Verwendung eines Befehls anzuzeigen, geben Sie den Befehl einfach ohne Parameter ein und STSADM sagt Ihnen, welche Eingabe erwartet wird. STSADM -help operationname zeigt ebenfalls Verwendungsinformationen an.

Wenn Sie Vorlagen verwalten, können Sie den Befehl enumtemplates verwenden, um festzustellen, welche Vorlagen hinzugefügt wurden. Installierte Vorlagen können Sie mit deletetemplate entfernen. Es gibt auch ähnliche Befehle, um mit Web Part Packages zu arbeiten. Mit dem Befehl enumwppacks können Sie die Web Part Packages auflisten, die auf jedem virtuellen Server oder in jeder Webanwendung installiert sind, und mit deletewppack können Sie hinzugefügte WPPs entfernen.

STSADM weist auch zwei Befehle zu den SharePoint-Einstellungen auf: setproperty und getproperty. Wenn Sie einen dieser Befehle ohne Parameter ausführen, erhalten Sie eine Liste der Eigenschaften, die Sie anzeigen oder ändern können. Wie STSADM ändert sich diese Liste bei Aktualisierungen und Hotfixes. Trotzdem gibt es einige Eigenschaften, die nützlicher sind als andere. Abbildung 1 besteht aus einer Liste mehrerer Eigenschaften, die Sie evtl. einstellen möchten, nachdem Sie SharePoint installiert haben. Dazu zählen die häufigsten Eigenschaften, nach denen SharePoint-Administratoren fragen.

Figure 1 Einstellung nützlicher SharePoint-Eigenschaften

Eigenschaft Funktion
Alerts-enabled Aktivieren bzw. deaktivieren Sie Benachrichtigungen für Ihren virtuellen Server oder Ihre Web-Anwendung.
Alerts-limited Legt fest, ob Benutzer auf die Einstellung einer bestimmten Anzahl von Benachrichtigungen auf dem virtuellen Server oder in der Web-Anwendung beschränkt sind.
Alerts-maximum Sind Benachrichtigungsbeschränkungen festgelegt, ist dies die maximale Anzahl der Benachrichtigungen, die ein Benutzer festlegen kann.
Days-to-show-new-icon Dies legt fest, wie lange das Symbol „Neu“ neben Objekten angezeigt wird, die zur Website hinzugefügt wurden, z. B. Ankündigungsmitteilungen.
Job-immediate-alerts Legt fest, wie oft SharePoint direkte Benachrichtigungen zum Senden sucht. Der Standard für SharePoint 2.0 beträgt fünf Minuten. Sie können dieses Intervall hier einstellen. Wenn Sie die Zeit verringern, wird die Belastung Ihrer Web- und Datenbankserver erhöht, seien Sie also wachsam, wenn Sie diese Eigenschaft ändern.
Job-daily-alerts Legt fest, zu welcher Uhrzeit die täglichen Benachrichtigungen gesendet werden. SharePoint 2.0 verwendet standardmäßig „zwischen 22:00 und 06:00“. Falls Sie Benutzer haben, die sich nicht in der Serverzeitzone befinden, können Sie diese Eigenschaft anpassen.
Job-weekly-alerts Sie sehen wahrscheinlich, wie das Ganze funktioniert. Diese Einstellung legt den Zeitplan für wöchentliche Benachrichtigungen fest.

Wir wollen nun kurz die Verwendung einer dieser Eigenschaften erläutern. Bei dem folgenden Befehl sendet SharePoint alle 10 Minuten direkte Warnungen aus:

Stsadm -o setproperty -pn job-immediate-alerts -pv "Every 10 minutes"

Beachten Sie, dass ich statt -propertyname und -propertyvalue -pn und -pv verwendet habe. Das sind zulässige Abkürzungen, wenn Sie nicht das ganze Wort eingeben möchten. Beachten Sie auch, dass alle Beispiele und Befehle, die in diesem Abschnitt angesprochen werden, sowohl in Version 2.0 als auch 3.0 von Windows SharePoint Services funktionieren.

Tägliche Administration

Die alltägliche SharePoint-Administration ist recht einfach. Für die meisten SharePoint-Administratoren besteht der Großteil der täglichen Aufgaben aus der Arbeit mit Benutzern und Websites. STSADM bietet mehrere Befehle zur Rationalisierung dieser Aufgaben.

Ich möchte mit Websites und Webs beginnen. Aus Einheitlichkeitsgründen verwende ich „Website“ für Websitesammlungen und „Web“ für Unterwebseiten (werden auch als Subwebs bezeichnet). Einige der Begriffe sind problematisch, aber wenn Sie mit den von STSADM verwendeten einheitlich arbeiten, ist es einfacher, den benötigten Befehl zu finden.

Wenn Sie eine große SharePoint-Installation betreiben, verbringen Sie viel Zeit mit der Erstellung neuer Websites für Benutzer. Ich selbst mache das jedenfalls immer wieder. Die Erstellung neuer Websites ist in der SharePoint-Zentraladministration ganz einfach. Weil ich diese Aufgabe aber so oft durchführe, ist es für mich schneller, dazu STSADM zu verwenden.

Ich verwende den Befehl createsite. Das ist ganz einfach und die folgenden Parameter sind erforderlich:

  • url <url>
  • ownerlogin <DOMAIN\name>
  • owneremail <irgendwer@beispiel.com>
  • ownername <Anzeigename>
  • lcid <Sprache>
  • sitetemplate <Websitevorlage>
  • title <Websitetitel>
  • description <Websitebeschreibung>
  • quota <Quotenvorlage>

Sie können diese durch Eingabe von stsadm -help createsite (siehe Abbildung 2) an der Eingabeaufforderung anzeigen. Von diesen neun Parametern sind nur url, ownerlogin und owneremail obligatorisch.

Abbildung 2 Createsite-Parameter

Abbildung 2** Createsite-Parameter **(Klicken Sie zum Vergrößern auf das Bild)

Falls Sie bestimmte Websites routinemäßig erstellen, können Sie bei der Rationalisierung noch einen Schritt weiter gehen und ein Wrapper-Skript um STSADM schreiben, um die Aufgabe zu automatisieren. Um z. B. die Erstellung persönlicher Websites zu automatisieren, können Sie folgende Eingaben in einer Textdatei namens createpersonalsite.cmd speichern:

stsadm -o createsite -url https://localhost/users/%1 -ownerlogin contoso\%1 
-owneremail %1@contoso.com -sitetemplate usersite.stp 
-title "Personal site for %1" -description "Personal site for %1" -quota "500 MB"

Um dann eine Website für den Benutzer jsmith zu erstellen, könnten Sie einfach Folgendes ausführen:

createpersonalsite.cmd jsmith

Durch die Skriptprogrammierung zur Website-Erstellung ersparen Sie sich viele Eingaben und Sie können gewährleisten, dass alle neu erstellen Websites einheitlich sind. Der Befehl createweb bietet die gleichen Funktionen auf Webebene.

In Windows SharePoint Services 2.0 besteht die einzige einfache Möglichkeit, eine umfassende Liste der Websitesammlungen auf einem bestimmten virtuellen Server zu erhalten, in der Verwendung von STSADM. Enumsites führt alle Websitesammlungen auf einem bestimmten virtuellen Server oder in einer Webanwendung im XML-Format auf. Dies kann mit einem Data View Web Part kombiniert werden, um eine Liste der Websitesammlungen ganz einfach anzuzeigen. (Weitere Informationen siehe Randleiste „Arbeiten mit einem Data View Web Part“).

STSADM stellt den Befehl deletesite bereit, mit dem Sie Websites entfernen können. Sie müssen lediglich den URL angeben. Als Option können Sie die Konten mit -deleteadaccounts in Active Directory® löschen. Wenn Sie mit Webs arbeiten, verwenden Sie in diesem Fall den Befehl deleteweb.

Sie können auch Benutzer einer Website oder eines Webs hinzufügen, löschen und auflisten. Die dazu verwendeten Befehle lauten adduser, deleteuser und enumusers. Diese Befehle sind nützlich, wenn Benutzer massenweise zu einer Website hinzugefügt werden müssen oder Sie zu Überwachungszwecken eine Liste der Benutzer mit Zugriff auf eine Website benötigen.

Wenn Sie mit Webs arbeiten, haben Sie Zugriff auf einen weiteren Befehl, renameweb, mit dem Sie Namen und URL eines Webs ändern können. Um das Web z. B. von „oldname“ auf „coolnewname“ umzubenennen, verwenden Sie Folgendes:

Stsadm -o renameweb -url https://localhost/oldname -newname coolnewname

Dies kann viel Zeit sparen, wenn Projektnamen geändert oder Geschäftseinheiten neu ausgerichtet werden. In Windows SharePoint Services 2.0 ist das ein großes Problem, da die einzige Möglichkeit zum Migrieren von Webs SMIGRATE.exe ist, wodurch aber keine Benutzereinstellungen wie z. B. Mitgliedschaften oder Benachrichtigungen gepflegt werden. Bei Windows SharePoint Services 3.0 ist das weniger ein Thema, da STSADM Webs und Websites sichern und wiederherstellen kann.

Sicherung und Wiederherstellung

Eine der besten Verwendungsoptionen für STSADM ist die Sicherung und Wiederherstellung von Websites und Webs. Für kleine bis mittelgroße Installationen kann diese Funktionalität den Eckstein eines Wiederherstellungsplans für den Katastrophenfall darstellen. Der Backup-Prozess erklärt sich von selbst und ist sehr einfach zu verwenden. Teilen Sie STSADM einfach mit, welche Website gesichert und wohin die Backup-Datei geschrieben werden soll, z. B. so:

Stsadm -o backup -url https://localhost -filename site.bak

Dadurch wird die gesamte Websitesammlung in der Datei site.bak gespeichert. Dies umfasst den gesamten Inhalt wie z. B. Webs, Dokumentversionen, Listen und Benutzer. Website-Definitionen oder Änderungen, die auf der Dateisystemebene Ihrer Server vorgenommen wurden, werden nicht gesichert.

Während der Backup-Prozess wichtig ist, weist er doch einige Haken auf, die beachtet werden sollten. Ist die Website sehr groß, kann während des Backup-Vorgangs die Konfigurationsdatenbank gesperrt werden. Dies kann verhindern, dass Benutzer während des Backups auf Websites in dieser Datenbank zugreifen können. Dieses Problem kann mit Service Packs behoben werden, doch ist es auf jeden Fall etwas, worauf Sie achten sollten, wenn Ihre Websites wachsen. STSADM verwendet außerdem das temporäre Verzeichnis des Servers bei Backups und Wiederherstellungen. Achten Sie daher auf Ihren Festplattenspeicherplatz.

Arbeiten mit einem Data View Web Part

Sie können den Befehl enumsites mit einem Data View Web Part koppeln, um eine einfache Möglichkeit zum Anzeigen einer Liste von Websitesammlungen zu erhalten. Das funktioniert so.

Erstellen Sie zunächst einen geplanten Task, der Folgendes ausführt:

stsadm –o enumsites –url https://localhost
>c:\inetpub\wwwroot\excludedsite\sites.xml 

Vergewissern Sie sich, dass die XML-Datei in ein Verzeichnis geschrieben wird, das mit IIS veröffentlicht, aber nicht von SharePoint verwaltet wird. Verwenden Sie dann Microsoft FrontPage® (oder den FrontPage-Nachfolger Microsoft Office SharePoint Designer 2007), um ein Data View Web Part zu einer Web Part-Seite hinzuzufügen und lassen Sie es auf den URL der XML-Datei verweisen.

Das Data View Web Part bietet Funktionen wie Sortieren, Filtern und Gruppieren. Sie können das URL-Feld auch zu einem Link machen, der Sie direkt zur Website führt. Falls Sie stattdessen eine Web-Liste wünschen, bietet der Befehl enumsubwebs eine XML-Ausgabe der Subwebs in einer Websitesammlung oder einem Web.

Achten Sie aber auch darauf, dass STSADM-Backups zwar gut für kleine bis mittelgroße Websites geeignet sind, aber nicht so gut skaliert werden können. Für sehr große Websites (mehrere Gigabyte oder mehr) können die Backup- und Wiederherstellungsprozesse sehr viel langsamer werden.

Die Wiederherstellung einer Website ist genauso einfach. STSADM -o restore schreibt eine mit STSADM -o backup erstellte Datei in eine Website in SharePoint. Dieser Befehl bietet viel Flexibilität: Sie können eine Website an ihrem Originalspeicherort wiederherstellen (wenn die Website z. B. aus Versehen gelöscht wurde), können Sie sie als andere Website auf dem gleichen virtuellen Server wiederherstellen (wenn Sie z. B. einen Prozess auf einer Website testen möchten, ohne zu riskieren, Daten zu vernichten), oder Sie können die Website auf einem völlig anderen Server oder virtuellen Server wiederherstellen.

Die Wiederherstellung auf einer anderen Website oder einem anderen Server macht es etwas einfacher, einzelne Dokumente wiederherzustellen. Falls Sie eine Website gesichert haben und ein Benutzer ein Dokument wiederherstellen möchte, müssen Sie nicht die gesamte Website wiederherstellen. Dadurch würden alle Änderungen gelöscht, die seit dem Speichern des Backups an der Website vorgenommen wurden. Stattdessen können Sie die Website einfach unter einem anderen URL wiederherstellen, die Dokumente abrufen und wieder auf der Original-Website speichern.

In Windows SharePoint Services 2.0 weist STSADM eine relativ schwerwiegende Beschränkung auf. Beim Backup kann diese Version nur Websites berücksichtigen, keine Webs. Administratoren haben ihre Unzufriedenheit geäußert, und Microsoft hat reagiert. In Windows SharePoint Services 3.0 können die Backup- und Wiederherstellungsprozesse jetzt mit Webs umgehen. Außerdem kommen zwei neue Befehle hinzu: import und export.

Um ein Web zu exportieren, verwenden Sie den folgenden einfachen Befehl:

Stsadm -o export -url https://localhost/web -filename backup.dat

Der Export weist praktische Optionen auf, darunter den Switch -versions. Dies ermöglicht Ihnen, zu entscheiden, wie groß Ihre Backup-Dateien sein werden, indem Sie beschränken, welche Dateiversionen gesichert werden.

Um ein Web wieder auf den Server zu importierten, verwenden Sie folgenden Befehl:

Stsadm -o import -url https://localhost/web2 -filename backup.dat

Ist Ihre Website sehr groß, kann die Backup-Datei aus mehreren Teilen bestehen. In diesem Fall lassen Sie STSADM -o import auf die erste Datei verweisen, es werden dann automatisch die nachfolgenden Dateien abgerufen.

Befehle für Experten

Da Sie jetzt mit STSADM vertraut sind, möchte ich Ihnen einige Befehle zeigen, die Ihnen in brenzligen Situationen wirklich weiterhelfen können. Der erste ist ein neuer Befehl namens migrateuser. Version 2.0 synchronisiert sich nicht selbst mit Active Directory. Wird ein Konto umbenannt, kann es sich nicht mehr bei SharePoint anmelden. Bisher gab es auch keine Möglichkeit, um den Benutzerzugriff von einem Domain-Benutzer auf einen anderen zu übertragen. Vor Windows SharePoint Services 2.0 Service Pack 2 (SP2) mussten Sie den Benutzer aus jedem Web entfernen und das neue Konto manuell hinzufügen.

SP2 führte eine neue API ein und STSADM profitiert davon. Wird das Konto jsmith in jjones umbenannt, können Sie folgenden Befehl verwenden:

Stsadm -o migrateuser -oldlogin domain\jsmith -newlogin domain\jjones -ignoresidhistory

Da Sie die Konten nicht wirklich migrieren, können Sie den Windows-Sicherheits-ID (SID)-Verlauf ignorieren. Beachten Sie, das dieser Befehl keinen URL erfordert. Er nimmt die Änderung in allen Konfigurationsdatenbanken unabhängig von Websites oder Webs vor.

Ein weiterer Befehl, der sehr nützlich sein kann, ist unextendvs. Wenn Sie nicht möchten, dass SharePoint einen virtuellen Server oder eine Web-Anwendung umwandelt, heben Sie die Erweiterung auf. Normalerweise würden Sie dies im SharePoint Configuration Analyzer bewerkstelligen. In einer Webfarm erfordert SharePoint Configuration Analyzer aber, dass sich alle Ihre Server auf der gleichen Patch-Stufe befinden. Es ist möglich, dass ein Server mit dem Rest der Farm nicht synchronisiert ist. Daher erhält er die unextend-Option in SharePoint Configuration Analyzer nicht. Mit STSADM hebt der folgende Befehl die Erweiterung Ihres virtuellen Servers auf:

Stsadm -o unextendvs -url https://localhost

Ist der Server nicht mehr Teil der Webfarm, können Sie die notwendige Wartung durchführen.

Zum Thema Webfarmen ist aus Gründen der einfachen Administration zu sagen, dass Sie für alle Ihre Server SharePoint Configuration Analyzer am gleichen Port haben sollten. Der Port wird bei der Installation von Sharepoint nach dem Zufallsprinzip generiert, doch enthält STSADM einen Befehl, um die Portauswahl entsprechend Ihren Angaben zu ändern:

Stsadm -o setadminport -port 1026

Dadurch werden alle notwendigen Datenbankänderungen und die IIS-Änderungen vorgenommen und die Verknüpfung zu SharePoint Configuration Analyzer in der Verwaltung wird angepasst.

Schlussbemerkung

Windows SharePoint Services ist eine leistungsstarke Lösung, die leistungsstarke Administration erfordert. STSADM bietet eine SharePoint-Administrationsmöglichkeit einschließlich Automation der Konfiguration und allgemeinen alltäglicher Aufgaben. Manchmal ist STSADM sogar die einzige Möglichkeit, eine bestimmte Aufgabe durchzuführen.

Todd Klindt arbeitet als Systemanalytiker bei UGS, wo er den ganzen Tag lang mit SharePoint spielt und dafür auch noch bezahlt wird. Er ist außerdem Windows SharePoint Services MVP und Wassermann.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.