BESTER GUIDE: Sharepoint-Verwaltung mit PowerShell

Dieser Leitfaden richtet sich an diejenigen, die bereits wissen, was Sharepoint ist. Grundsätzlich liegt der Fokus des Leitfadens auf der Sharepoint-Administration mit Powershell (PoSH).

Variablen:

Diese sind einfach ein Objekt, das etwas enthält. Variablen können durch ein vorangestelltes $ identifiziert werden, z. B. die folgende „neue“ Variable:

$neu

Wir füllen Variablen mit dem =-Zeichen. Folgendes instanziiert (erstellt eine Instanz davon) ein SharePoint-Webobjekt (im Sprachgebrauch des Serverobjektmodells SPWeb-Objekt genannt):

$newSPweb = get-spweb http://url.to/my/subsite

Sie können Ihre Variablen so ziemlich beliebig benennen, obwohl es Regeln gibt – googeln Sie sie, wenn Sie neugierig sind, da die Benennungskonventionen für .Net-Objekte etwas außerhalb des Rahmens dieses Dokuments liegen.

Das SharePoint Server-Objektmodell:

Dies macht die SharePoint-Administration über die Befehlszeile im Vergleich zur GUI so viel einfacher und macht Spaß. Es gibt jedoch einige Anforderungen – hauptsächlich müssen Sie die SPShellAdmin-Berechtigung für jede Datenbank erhalten, für die Sie Operationen ausführen möchten.

Wenn Sie sich in einem normalen PowerShell-Bildschirm befinden, können Sie die SharePoint-Assembly hinzufügen, indem Sie Folgendes eingeben:

Add-pssnapin Microsoft.sharepoint.powershell

Wenn Sie SPShellAdmin nicht haben, erhalten Sie wahrscheinlich eine Fehlermeldung, dass die Farm nicht verfügbar ist ….

Der folgende Befehl ist ein Befehl, den ich jedes Mal mit einem unserer Farm-Admin-Dienstkonten ausführe, wenn ich feststelle, dass mein Konto kein SPShellAdmin hat (wir haben ungefähr 20 verschiedene Farmen bei der Arbeit).

Nur eine Anmerkung – dieser Befehl muss mit einem Konto ausgeführt werden, das bereits über SPShellAdmin verfügt – er muss auch mit der SharePoint Management Shell-App mit administrativen / erhöhten Rechten ausgeführt werden:

$spdb = get-spdatabase
$username = „domainmyuser“
Foreach ($_ in $spdb) {add-spshelladmin –database $_.id –username $username}

Dieser Befehl greift ALLE Datenbanknamen der aktuellen SharePoint-Datenbanken und speichert sie in dieser $spdb-Variablen und sagt auch, dass sie innerhalb der Schleife einzeln mit der $_-Variablen angesprochen werden.

Die Variable $username ist der Benutzername, für den Sie die SPShellAdmin-Berechtigung erhalten möchten. Die ForEach-Schleife besagt, dass für jedes Element, das sich in der $spdb-Variablen befindet (das ist jede der Datenbanken, können Sie dies einfach durch Eingabe von get-spdatabase anzeigen), der Befehl zwischen { } ausgeführt werden. Innerhalb von { } sehen Sie die $_.id – was bedeutet, dass die ID (GUID) des jeweiligen Datenbankelements mit dem –database-Parameter und Ihr Benutzername im –username-Parameter verwendet werden sollte.

Vorausgesetzt, dass alles gut gelaufen ist, wird Ihnen meine Lieblingsausgabe von allem absolut nichts präsentiert! Dies gilt als eine dieser „Keine Nachrichten sind gute Nachrichten“-Situationen.

Weiter so….

Da wir nun berechtigt sind, hier zu sein, melden Sie sich von Ihrem Dienstkonto ab und melden Sie sich mit Ihrem regulären Konto an.

Nachdem Sie wieder drin sind, öffnen Sie ein normales altes PoSH-Fenster und fügen Sie die SharePoint-Assembly hinzu:

Add-pssnapin Microsoft.sharepoint.powershell

Geben Sie als Nächstes ein

Get-SPWebApplication

um alle Webanwendungen in Ihrer Farm anzuzeigen.
Setzen wir einen in eine Variable:

$SPWebApp = get-spwebapplication http://urlToMyWebApp
$SPWebApp | Mitglied werden

Sie sollten jetzt eine riesige Liste von Dingen auf Ihrem Bildschirm sehen – dies sind alle Mitgliedsobjekte, die Ihnen über das Objektmodell zum Spielen zur Verfügung stehen.

$SPWebApp.sites | Rootweb, URL auswählen

Sie sollten nun eine Liste aller Websitesammlungen sehen, die Sie zuvor in Ihrer Webanwendung erstellt haben.

Spielen Sie mit get-member herum und wählen Sie mit dem | …. Diese vertikale Linie wird Pipe genannt – so können Sie Objekte von einem Befehl an einen anderen übergeben.

Sie können auch versuchen, die TAB-Taste bei einem teilweise abgeschlossenen Befehl zu drücken, um zu sehen, was passiert (dies wird als Tab-Vervollständigung bezeichnet und ist bei weitem mein Lieblingsteil moderner Befehlszeilenschnittstellen!)

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *