Pipelining

 

Gilt für: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Letztes Änderungsdatum des Themas: 2006-08-15

Pipelining in der Exchange-Verwaltungsshell ist der Vorgang, bei dem ein Cmdlet beim Ausführen einer Operation die Ausgabe eines anderen Cmdlets verwendet. Pipelining wird mithilfe des Pipesymbols (|) erreicht. Alle Verben in derselben noun-cmdlet-Gruppe können Informationen in der Pipeline von einem anderen Befehl verwenden. Bei einigen noun-cmdlet-Gruppen können Sie auch Daten über die Pipeline an eine andere noun-cmdlet-Gruppe übergeben.

Verwenden von Pipelining zur Ausführung mehrerer Aktionen

Wenn Pipelining zum Aneinanderreihen der Aktionen von zwei oder mehr Cmdlets verwendet wird, bietet Ihnen die Exchange-Verwaltungsshell die Möglichkeit, kleinere Komponenten einzusetzen und diese in leistungsfähigere Elemente zu konvertieren. So können Sie beispielsweise mithilfe eines Cmdlets Daten erfassen und diese Daten an ein zweites Cmdlet übergeben, von dem sie in eine Teilmenge gefiltert werden. Anschließend werden die Daten an ein drittes Cmdlet übergeben, damit nur die Teilmenge verarbeitet wird.

Der folgende Befehl verwendet Pipelining, um alle Postfächer auf Server1 mithilfe des Cmdlets Move-Mailbox in die Datenbank Executives auf Server2 zu verschieben. Grundlage ist die Ausgabe, die aus dem Cmdlet Get-Mailbox über die Pipeline übergeben wurde:

Get-Mailbox -Server Server1 | Move-Mailbox -TargetDatabase Server2\Executives

Verwenden von Pipelining zum Verarbeiten von Daten aus einem anderen Cmdlet

Sie können Pipelining auch zum Verarbeiten von Daten verwenden, die von einem Cmdlet ausgegeben werden. Wenn Sie z. B. eine Liste aller Prozesse erhalten möchten, bei denen die HandleCount-Eigenschaft des Prozesses größer als 400 ist, können Sie folgenden Befehl ausführen:

Get-Process | Where { $_.HandleCount -gt 400 } | Format-List

In diesem Beispiel übergibt das Cmdlet Get-Process Objekte an das Cmdlet Where-Object. Das Cmdlet Where-Object wählt die Objekte aus, deren HandleCount-Eigenschaft einen größeren Wert als 400 aufweist.

In diesem Beispiel ist der HandleCount-Eigenschaft die Variable $_ vorangestellt. Diese Variable wird von der Exchange-Verwaltungsshell automatisch erstellt, um das aktuelle Pipelineobjekt zu speichern. Anschließend sendet das Cmdlet Where-Object diese Objekte an das anzuzeigende Cmdlet Format-List.

Die Verwendung strukturierter Objekte anstelle von Text ist eine der interessantesten Funktionen der Exchange-Verwaltungsshell. Auf diese Weise wird die Grundlage für ein leistungsfähiges gegliedertes Verwaltungsmodell geschaffen.

Weitere Informationen zu strukturierten Objekten finden Sie unter Strukturierte Daten.

Verwenden von Pipelining zum Melden von Fehlern

Fehler können Sie über die Fehlerpipeline melden. Die Fehlerpipeline ermöglicht es Ihnen, Fehler bereits während der Ausführung eines Befehls zu melden. Sie müssen also nicht bis zum Abschluss der Befehlsausführung warten oder die Fehlerinformationen in die Standard-Ergebnispipeline stellen. Das Cmdlet Write-Error schreibt die Argumente in die Fehlerpipeline.

Wenn Sie weitere Informationen zum Pipelining benötigen, führen Sie folgenden Befehl in der Exchange-Verwaltungsshell aus:

Get-Help About_Pipeline