Einführung in Cmdlets für die SharePoint-Verwaltungsshell

SharePoint 2010

Letzte Änderung: Donnerstag, 14. Januar 2010

Gilt für: SharePoint Foundation 2010

Windows PowerShell™ ist ein neues Befehlszeilentool und eine unterstützende Skriptsprache von Microsoft und kann als Nachfolgeder des Verwaltungstools Stsadm.exe als Ergänzung für Cmd.exe im Windows-Verwaltungskontext verwendet werden. Obwohl Cmd.exe und Stsadm.exe aus Gründen der Abwärtskompatibilität beibehalten werden, sollte für die gesamte aktuelle und zukünftige Entwicklung von Skripts und Verwaltungsdateien in SharePoint Foundation diese neue Skripttechnologie verwendet werden.

Im Gegensatz zu den meisten Befehlszeilentools, bei denen Text eingegeben und zurückgegeben wird, basiert Windows PowerShell auf Microsoft .NET Framework, sodass .NET Framework-Objekte akzeptiert und zurückgegeben werden. Diese grundlegende Änderung der Umgebung ermöglicht völlig neue Tools und Methoden, durch die die Steuerung, Effizienz und Produktivität von Entwicklern und Administratoren erheblich verbessert werden kann.

Windows PowerShell ist ein einfaches Befehlszeilentool, mit dem das Konzept der Cmdlets eingeführt wird. Ein Cmdlet ist eine Kombination aus einem Verb und einem Substantiv, die einen Befehl enthält sowie ein Objekt, für das der Befehl ausgeführt wird. Die Namen von Windows PowerShell-Cmdlets bestehen aus Verben und Substantiven, die durch einen Gedankenstrich (-) getrennt sind und aus denen die funktionellen Eigenschaften hervorgehen. Im Namen des Cmdlets Get-SPSite beispielsweise wird das Verb (der Befehl) "Get" mit dem Substantiv (Objekt) "SPSite" kombiniert. Mit diesem Cmdlet wird ein angegebenes SPSite-Objekt abgerufen. Sie können Cmdlets einzeln verwenden oder die Cmdlets in verknüpften Sequenzen verketten, um komplexe Aufgaben auszuführen.

Für die Cmdlet-Substantive können Parameter als Name/Wert-Paare verwendet werden, durch die das Substantiv konkretisiert wird. Beim Aufrufen von Cmdlets werden Ausgabeobjekte zurückgegeben. Die zurückgegebenen Objekte haben ebenfalls Eigenschaften, die als Name/Wert-Paare angezeigt werden. Da von Cmdlets Objekte zurückgegeben werden, können diese Objekte nacheinander jeweils an ein anderes Objekt übergeben (oder weitergeleitet) werden. Auf diese Weise können Cmdlets miteinander verkettet werden und bieten damit große Flexibilität.

Tatsächlich handelt es sich dabei nur um einen der wichtigen Unterschiede zwischen einem Windows PowerShell-Cmdlet und Befehlen in stsadm.exe. Wichtig ist beispielsweise, dass ein Cmdlet keine ausführbare Datei ist, sondern eine Instanz einer .NET Framework-Klasse. Bis auf wenige Ausnahmen werden von Cmdlets also Objekte anstelle von Textstreams zurückgegeben, und die Eingabeobjekte werden direkt aus einer Objektpipeline verarbeitet.

Wie Sie sehen, ist Windows PowerShell nicht nur ein neues Befehlszeilentool. Es handelt sich außerdem, und das ist wahrscheinlich wichtiger, um eine neue Skriptsprache. Mit Windows PowerShell werden standardmäßig über 100 Windows-Kern-Cmdlets installiert. Die Bibliothek der SharePoint Foundation-Cmdlets (zurzeit über 500) wird zusätzlich zu diesen Windows-Kern-Cmdlets installiert. Diese SharePoint-spezifischen Cmdlets werden in einer speziellen proprietären Shell verfügbar gemacht, die als SharePoint-Verwaltungsshell bezeichnet wird.

In Windows PowerShell werden sowohl allgemeine als auch SharePoint-spezifische Implementierungen bereitgestellt. Im Inneren spiegelt sich dieser Unterschied darin wieder, dass Windows PowerShell-Cmdlets von der Basisklasse PSCmdlet abgeleitet werden, während Cmdlets für SharePoint Foundation von der spezialisierten SharePoint-Basisklasse SPCmdlet abgeleitet werden.

Wichtiger Hinweis Wichtig

Der Unterschied zwischen Windows PowerShell-Cmdlets, die von der PSCmdlet-Klasse abgeleitet werden, und den SharePoint-Cmdlets, die von der SPCmdlet-Klasse abgeleitet werden, ist sehr wichtig. Alle SharePoint-Cmdlets, die im Lieferumfang von SharePoint Foundation enthalten sind und in SharePoint-Verwaltungsshell verfügbar gemacht werden, werden von der SPCmdlet-Klasse abgeleitet. Außerdem muss es sich bei allen benutzerdefinierten Cmdlets, die Sie zur Unterstützung von SharePoint-Bereitstellungen schreiben, ebenfalls um SharePoint-Cmdlets handeln.

Nachfolgenden sehen Sie die Signatur für die SPCmdlet-Basisklasse. Beachten Sie, dass SPCmdlet von der PSCmdlet-Klasse abgeleitet wird.

public abstract class SPCmdlet : PSCmdlet

Wenn Sie die Cmdlets mit variablem Operator (Get, Set, New und Remove) verwenden, müssen Sie die Implementierungen der spezifischen SPCmdlet-Klassen verwenden und nicht die von der PSCmdlet-Klasse abgeleiteten. Diese Regel gilt einheitlich für das Skriptmodell für die Verwendung von Windows PowerShell-Cmdlets in SharePoint Foundation.

Für Cmdlets, von denen beständige Objekte behandelt werden:

Für Cmdlets, von denen nicht beständige Objekte behandelt werden:

Für Aktions-Cmdlets:

Anzeigen: