Arbeiten mit Ausgaben von Befehlen

Gilt für: Exchange Server 2013

Die Exchange-Verwaltungsshell bietet verschiedene Methoden zum Formatieren der Befehlsausgabe. In diesem Thema werden die folgenden Punkte behandelt:

  • Formatieren von Daten Hier wird erläutert, wie die angezeigten Daten mit den Cmdlets Format-List, Format-Table und Format-Wide formatiert werden können.

  • Datenausgabe Hier wird erläutert, wie mit den Cmdlets Out-Host und Out-File festgelegt wird, ob die Daten an das Konsolenfenster der Shell oder an eine Datei ausgegeben werden. Dieses Thema enthält ein Beispielskript zum Ausgeben von Daten an Microsoft Internet Explorer.

  • Filtern von Daten Hier wird beschrieben, wie Sie Daten mithilfe einer der folgenden Filtermethoden filtern können:

    • Serverseitige Filterung, verfügbar bei bestimmten Cmdlets.

    • Clientseitige Filterung, verfügbar bei allen Cmdlets, indem die Ergebnisse eines Befehls mittels Pipe an das Cmdlet Where-Object übergeben werden.

Wenn Sie die in diesem Thema beschriebene Funktionalität nutzen möchten, müssen Sie mit den folgenden Konzepten vertraut sein:

Formatieren von Daten

Wenn Sie Cmdlets für die Formatierung am Ende der Pipeline aufrufen, kann die Standardformatierung außer Kraft gesetzt werden, mit der bestimmt wird, welche Daten angezeigt und wie die Daten dargestellt werden. Die Cmdlets für die Formatierung lauten Format-List, Format-Table und Format-Wide. Jedes Cmdlet weist einen eigenen Ausgabestil auf, der sich von dem der anderen Cmdlets für die Formatierung unterscheidet.

Format-List

Das Cmdlet Format-List akzeptiert Eingaben aus der Pipeline und gibt eine Liste mit senkrechten Spalten aus, die alle angegebenen Eigenschaften jedes Objekts enthält. Sie können angeben, welche Eigenschaften sie anzeigen möchten, indem Sie den Property-Parameter verwenden. Wenn das Cmdlet Format-List ohne Parameter aufgerufen wird, werden alle Eigenschaften ausgegeben. Bei Verwendung des Cmdlets Format-List werden Zeilen nicht abgeschnitten, sondern es erfolgt ein Umbruch. Eine der besten Einsatzmöglichkeiten für das Cmdlet Format-List besteht darin, die Standardausgabe eines Cmdlets außer Kraft zu setzen, sodass weitere oder wesentlichere Informationen abgerufen werden können.

Beispiel: Wenn Sie das Cmdlet Get-Mailbox aufrufen, werden nur in begrenztem Umfang Informationen im Tabellenformat angezeigt. Sie können jedoch die gewünschte Ausgabe abrufen, indem Sie die Ausgabe des Cmdlets Get-Mailbox mittels Pipe an das Cmdlet Format-List übergeben und Parameter für die gewünschten zusätzlichen oder spezifischeren Informationen hinzufügen.

Darüber hinaus kann auch ein Platzhalterzeichen (*) mit einem Teil eines Eigenschaftennamens angegeben werden. Bei Angabe eines Platzhalterzeichens können mehrere Eigenschaften zugeordnet werden, ohne dass die Eigenschaften einzeln eingegeben werden müssen. Gibt beispielsweise alle Eigenschaften zurück, Get-Mailbox | Format-List -Property Email* die mit Emailbeginnen.

In den folgenden Beispiele wird gezeigt, wie dieselben von dem Cmdlet Get-Mailbox zurückgegebenen Daten auf unterschiedliche Weise angezeigt werden können.

Get-Mailbox TestUser1

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       ---------------
TestUser1                 TestUser1            mbx              unlimited

Im ersten Beispiel wird das Cmdlet Get-Mailbox ohne spezielle Formatierung aufgerufen, sodass die Standardausgabe im Tabellenformat erfolgt und einen vordefinierten Satz von Eigenschaften enthält.

Get-Mailbox TestUser1 | Format-List -Property Name,Alias,EmailAddresses

Name           : TestUser1
Alias          : TestUser1
EmailAddresses : {SMTP:TestUser1@contoso.com}

Im zweiten Beispiel wird die Ausgabe des Cmdlets Get-Mailbox zusammen mit bestimmten Eigenschaften mittels Pipe an das Cmdlet Format-List übergeben. Format und Inhalt der Ausgabe sind bei diesem Beispiel völlig anders.

Get-Mailbox TestUser1 | Format-List -Property Name, Alias, Email*
Name                      : Test User
Alias                     : TestUser1
EmailAddresses            : {SMTP:TestUser1@contoso.com}
EmailAddressPolicyEnabled : True

Im letzten Beispiel wird die Ausgabe des Cmdlets Get-Mailbox wie im zweiten Beispiel mittels Pipe an das Cmdlet Format-List übergeben. Im letzten Beispiel wird jedoch ein Wildcardzeichen verwendet, um alle Eigenschaften abzugleichen, die mit Emailbeginnen.

Wenn mehrere Objekte an das Cmdlet Format-List übergeben werden, werden alle für ein Objekt angegebenen Eigenschaften nach Objekt gruppiert und angezeigt. Die Anzeigereihenfolge richtet sich nach dem Standardparameter für das Cmdlet. Der Standardparameter ist am häufigsten der Name-Parameter oder der Identity-Parameter . Beispiel: Wenn das Cmdlet Get-Childitem aufgerufen wird, werden die Dateinamen in der Standardanzeige in alphabetischer Reihenfolge angezeigt. Um dieses Verhalten zu ändern, müssen Sie das Cmdlet Format-List zusammen mit dem GroupBy-Parameter und dem Namen eines Eigenschaftswerts aufrufen, nach dem Sie die Ausgabe gruppieren möchten. Im folgenden Befehl werden zum Beispiel alle Dateien in einem Verzeichnis aufgelistet und anschließend nach ihrer Dateierweiterung gruppiert.

Get-Childitem | Format-List Name,Length -GroupBy Extension

Extension: .xml

Name   : Config_01.xml
Length : 5627

Name   : Config_02.xml
Length : 3901

Extension: .bmp

Name   : Image_01.bmp
Length : 746550

Name   : Image_02.bmp
Length : 746550

Extension: .txt

Name   : Text_01.txt
Length : 16822

Name   : Text_02.txt
Length : 9835

In diesem Beispiel hat das Cmdlet Format-List die Elemente nach der Erweiterungseigenschaft gruppiert, die durch den GroupBy-Parameter angegeben wird. Der Parameter GroupBy kann mit jeder gültigen Eigenschaft für die Objekte im Pipelinestream verwendet werden.

Format-Table

Das Cmdlet Format-Table ermöglicht die Darstellung von Elementen im Tabellenformat mit Spaltenüberschriften und verschiedenen Spalten mit Eigenschaftendaten. Viele Cmdlets, beispielsweise Get-Process und Get-Service, verwenden standardmäßig das Tabellenformat für die Ausgabe. Zu den Parametern für das Cmdlet Format-Table gehören die Parameter Properties und GroupBy . Die Funktionsweise dieser Parameter ist bei diesem Cmdlet dieselbe wie beim Cmdlet Format-List.

In Verbindung mit dem Cmdlet Format-Table wird auch der Parameter Wrap verwendet. Dieser ermöglicht die vollständige Anzeige von Eigenschaftendaten in langen Zeilen, d. h., die Information wird nicht am Ende einer Zeile abgeschnitten. Sie können die Funktionsweise des Parameters Wrap bei der Darstellung zurückgegebener Informationen sehen, wenn Sie die Ausgabe des Befehls Get-Command in den folgenden beiden Beispielen vergleichen.

Wenn im ersten Beispiel das Cmdlet Get-Command verwendet wird, um Befehlsinformationen zum Cmdlet Get-Process anzuzeigen, werden die Informationen für die Definition-Eigenschaft abgeschnitten.

Get-Command Get-Process | Format-Table Name,Definition

Name                                    Definition
----                                    ----------
get-process                             get-process [[-ProcessName] String[]...

Im zweiten Beispiel wird dem Befehl der Wrap-Parameter hinzugefügt, um die Anzeige des vollständigen Inhalts der Definition-Eigenschaft zu erzwingen.

Get-Command Get-Process | Format-Table Name,Definition -Wrap

Get-Process                             Get-Process [[-Name] <String[]>] [-Comp
                                        uterName <String[]>] [-Module] [-FileVe
                                        rsionInfo] [-Verbose] [-Debug] [-ErrorA
                                        ction <ActionPreference>] [-WarningActi
                                        on <ActionPreference>] [-ErrorVariable
                                        <String>] [-WarningVariable <String>] [
                                        -OutVariable <String>] [-OutBuffer <Int
                                            32>]
                                        Get-Process -Id <Int32[]> [-ComputerNam
                                        e <String[]>] [-Module] [-FileVersionIn
                                        fo] [-Verbose] [-Debug] [-ErrorAction <
                                        ActionPreference>] [-WarningAction <Act
                                        ionPreference>] [-ErrorVariable <String
                                        >] [-WarningVariable <String>] [-OutVar
                                        iable <String>] [-OutBuffer <Int32>]
                                        Get-Process [-ComputerName <String[]>]
                                        [-Module] [-FileVersionInfo] -InputObje
                                        ct <Process[]> [-Verbose] [-Debug] [-Er
                                        rorAction <ActionPreference>] [-Warning
                                        Action <ActionPreference>] [-ErrorVaria
                                        ble <String>] [-WarningVariable <String
                                        >] [-OutVariable <String>] [-OutBuffer
                                        <Int32>]

Wie beim Cmdlet Format-List können Sie auch ein Wildcardzeichen "*" mit einem partiellen Eigenschaftsnamen angeben. Durch Angabe eines Platzhalterzeichens können mehrere Eigenschaften zugeordnet werden, ohne dass die Eigenschaften einzeln eingegeben werden müssen.

Format-Wide

Das Cmdlet Format-Wide ermöglicht eine wesentlich einfachere Ausgabesteuerung als die übrigen Format-Cmdlets. Standardmäßig versucht das Cmdlet Format-Wide, so viele Spalten mit Eigenschaftswert wie möglich in einer Ausgabezeile anzuzeigen. Durch Hinzufügen von Parametern können Sie die Anzahl der Spalten festlegen und steuern, wie der Ausgabebereich verwendet wird.

Wird das Cmdlet Format-Wide in seiner einfachsten Form ganz ohne Parameter aufgerufen, wird die Ausgabe in so vielen Spalten angeordnet, wie auf die Seite passen. Beispiel: Wenn das Cmdlet Get-Childitem ausgeführt und dessen Ausgabe mittels Pipe an das Cmdlet Format-Wide übergeben wird, werden die Informationen wie folgt dargestellt:

Get-ChildItem | Format-Wide

Directory: FileSystem::C:\WorkingFolder

Config_01.xml                           Config_02.xml
Config_03.xml                           Config_04.xml
Config_05.xml                           Config_06.xml
Config_07.xml                           Config_08.xml
Config_09.xml                           Image_01.bmp
Image_02.bmp                            Image_03.bmp
Image_04.bmp                            Image_05.bmp
Image_06.bmp                            Text_01.txt
Text_02.txt                             Text_03.txt
Text_04.txt                             Text_05.txt
Text_06.txt                             Text_07.txt
Text_08.txt                             Text_09.txt
Text_10.txt                             Text_11.txt
Text_12.txt

Im Allgemeinen werden bei Aufruf des Cmdlets Get-Childitem ohne Parameter die Namen aller Dateien in dem Verzeichnis in einer Tabelle mit Eigenschaften angezeigt. Da in diesem Beispiel die Ausgabe des Cmdlets Get-Childitem mittels Pipe an das Cmdlet Format-Wide übergeben wurde, wurde die Ausgabe in zwei Spalten mit Namen angezeigt. Beachten Sie, dass zur gleichen Zeit jeweils nur ein Eigenschaftentyp angezeigt werden kann, der durch einen Eigenschaftennamen gemäß dem Cmdlet Format-Wide angegeben wurde. Wenn Sie den Parameter Autosize hinzufügen, wird die Ausgabe von zwei Spalten in so viele Spalten geändert, wie sie der Bildschirmbreite entsprechen können.

Get-ChildItem | Format-Wide -AutoSize

Directory: FileSystem::C:\WorkingFolder

Config_01.xml   Config_02.xml   Config_03.xml   Config_04.xml   Config_05.xml
Config_06.xml   Config_07.xml   Config_08.xml   Config_09.xml   Image_01.bmp
Image_02.bmp    Image_03.bmp    Image_04.bmp    Image_05.bmp    Image_06.bmp
Text_01.txt     Text_02.txt     Text_03.txt     Text_04.txt     Text_05.txt
Text_06.txt     Text_07.txt     Text_08.txt     Text_09.txt     Text_10.txt
Text_11.txt     Text_12.txt

In diesem Beispiel ist die Tabelle in fünf Spalten anstelle von zwei Spalten angeordnet. Der Column-Parameter bietet mehr Kontrolle, da Sie die maximale Anzahl von Spalten zum Anzeigen von Informationen wie folgt angeben können:

Get-ChildItem | Format-Wide -Column 4

Directory: FileSystem::C:\WorkingFolder

Config_01.xml       Config_02.xml       Config_03.xml       Config_04.xml
Config_05.xml       Config_06.xml       Config_07.xml       Config_08.xml
Config_09.xml       Image_01.bmp        Image_02.bmp        Image_03.bmp
Image_04.bmp        Image_05.bmp        Image_06.bmp        Text_01.txt
Text_02.txt         Text_03.txt         Text_04.txt         Text_05.txt
Text_06.txt         Text_07.txt         Text_08.txt         Text_09.txt
Text_10.txt         Text_11.txt         Text_12.txt

In diesem Beispiel wird die vierspaltige Ansicht durch den Parameter Column erzwungen.

Datenausgabe

Cmdlets "Out-Host" und "Out-File"

Bei dem Cmdlet Out-Host handelt es sich um ein nicht angezeigtes Standard-Cmdlet am Ende der Pipeline. Nachdem sämtliche Formatierungen angewendet wurden, sendet das Cmdlet Out-Host die finale Ausgabe zur Anzeige an das Konsolenfenster. Das Cmdlet Out-Host muss nicht explizit aufgerufen werden, da es sich hierbei um die Standardausgabe handelt. Das Senden der Ausgabe an das Konsolenfenster kann außer Kraft gesetzt werden, indem das Cmdlet Out-File als letztes Cmdlet im Befehl aufgerufen wird. Das Cmdlet Out-File schreibt dann die Ausgabe in die Datei, die in dem Befehl angegeben wurde (siehe folgendes Beispiel):

Get-ChildItem | Format-Wide -Column 4 | Out-File c:\OutputFile.txt

In diesem Beispiel schreibt das Cmdlet Out-File die Informationen, die im Befehl Get-ChildItem | Format-Wide -Column 4 angezeigt werden, in eine Datei mit dem Namen OutputFile.txt. Sie können auch die Pipelineausgabe an eine Datei umleiten, indem Sie den Umleitungsoperator verwenden, bei dem es sich um die rechtwinklige Klammer ( ) > handelt. Um die Pipelineausgabe eines Befehls an eine vorhandene Datei anzufügen, ohne die ursprüngliche Datei zu ersetzen, verwenden Sie die doppelten rechtwinkligen Klammern ( >> ), wie im folgenden Beispiel gezeigt:

Get-ChildItem | Format-Wide -Column 4 >> C:\OutputFile.txt

In diesem Beispiel wird die Ausgabe des Cmdlets Get-Childitem zur Formatierung an das Cmdlet Format-Wide weitergeleitet und dann an das Ende der OutputFile.txt Datei geschrieben. Beachten Sie, dass die OutputFile.txt Datei erstellt werden würde, wenn die Datei nicht vorhanden wäre. >>

Weitere Informationen zu Pipelines finden Sie unter about_Pipelines.

Weitere Informationen zu der in den obigen Beispielen verwendeten Syntax finden Sie unter Syntax.

Anzeigen von Daten in Internet Explorer

Aufgrund der Flexibilität und Unkompliziertheit von Skripts in der Exchange-Verwaltungsshell können die von Befehlen zurückgegebenen Daten auf beinahe unbegrenzte Weise formatiert und ausgegeben werden.

Im folgenden Beispiel wird gezeigt, wie die von einem Befehl zurückgegebenen Daten mithilfe eines einfachen Skripts ausgegeben und in Internet Explorer angezeigt werden können. Dieses Skript verwendet die mittels Pipe übergebenen Objekte, öffnet ein Internet Explorer-Fenster und zeigt die Daten anschließend in Internet Explorer an:

$Ie = New-Object -Com InternetExplorer.Application
$Ie.Navigate("about:blank")
While ($Ie.Busy) { Sleep 1 }
$Ie.Visible = $True
$Ie.Document.Write("$Input")
# If the previous line doesn't work on your system, uncomment the line below.
# $Ie.Document.IHtmlDocument2_Write("$Input")
$Ie

Um dieses Skript zu verwenden, speichern Sie es im C:\Program Files\Microsoft\Exchange Server\V15\Scripts Verzeichnis auf dem Computer, auf dem das Skript ausgeführt wird. Nennen Sie die Datei Out-Ie.ps1. Nachdem die Datei gespeichert wurde, kann das Skript als reguläres Cmdlet verwendet werden.

Hinweis

Zum Ausführen von Skripts in Exchange 2013 müssen Skripts einer Verwaltungsrolle ohne Bereich hinzugefügt werden, und Ihnen muss die Verwaltungsrolle entweder direkt oder über eine Verwaltungsrollengruppe zugewiesen werden. Weitere Informationen finden Sie unter Grundlegendes zu Verwaltungsrollen.

Das Out-Ie Skript geht davon aus, dass es sich bei den empfangenen Daten um gültigen HTML-Code handelt. Zur Umwandlung der anzuzeigenden Daten in das HTML-Format müssen die Ergebnisse des Befehls mittels Pipe an das Cmdlet ConvertTo-Html übergeben werden. Anschließend können Sie die Ergebnisse dieses Befehls an das Out-Ie Skript übergeben. Im folgenden Beispiel wird gezeigt, wie eine Verzeichnisauflistung in einem Internet Explorer-Fenster angezeigt wird:

Get-ChildItem | Select Name,Length | ConvertTo-Html | Out-Ie

Filtern von Daten

Die Shell ermöglicht den Zugriff auf umfangreiche Informationen zu Ihren Servern, Postfächern, Active Directory und zu weiteren Objekten in der Organisation. Zwar hilft der Zugang zu diesen Informationen dabei, die Umgebung besser zu verstehen, die riesige Informationsmenge kann jedoch auch eine Überforderung bedeuten. Über die Shell können Sie steuern, welche Informationen ausgegeben werden, und mithilfe von Filtern nur die gewünschten Informationen anzeigen. Die folgenden Filterungsarten stehen zur Verfügung:

  • Serverseitige Filterung: Die serverseitige Filterung verwendet den Filter, den Sie in der Befehlszeile angeben, und übermittelt ihn an den von Ihnen abfragenden Exchange-Server. Der Server verarbeitet die Abfrage und gibt nur die Daten zurück, die dem angegebenen Filter entsprechen.

    Die serverseitige Filterung wird nur bei Objekten ausgeführt, bei denen möglicherweise Zehn- oder Hunderttausende von Ergebnissen zurückgegeben werden. Daher unterstützen nur die Cmdlets für die Empfängerverwaltung, wie das Cmdlet Get-Mailbox, und Cmdlets für die Warteschlangenverwaltung, wie das Cmdlet Get-Queue, die serverseitige Filterung. Diese Cmdlets unterstützen den Filter-Parameter . Dieser Parameter übernimmt den von Ihnen angegebenen Filterausdruck und übergibt ihn zur Verarbeitung an den Server.

  • Clientseitige Filterung: Die clientseitige Filterung erfolgt für die Objekte im lokalen Konsolenfenster, in dem Sie gerade arbeiten. Bei der clientseitigen Filterung ruft das Cmdlet alle Objekte ab, die der von Ihnen im lokalen Konsolenfenster durchgeführten Aufgabe entsprechen. Die Shell übernimmt anschließend alle zurückgegebenen Ergebnisse, wendet den clientseitigen Filter auf diese Ergebnisse an und gibt nur die Ergebnisse zurück, die dem Filter entsprechen. Alle Cmdlets unterstützen die clientseitige Filterung. Diese wird aufgerufen, indem die Ergebnisse eines Befehls mittels Pipe an das Cmdlet Where-Object übergeben werden.

Serverseitige Filterung

Die Implementierung der serverseitigen Filterung bezieht sich speziell auf das Cmdlet, von dem sie unterstützt wird. Die serverseitige Filterung ist nur für bestimmte Eigenschaften der zurückgegebenen Objekte aktiviert. Weitere Informationen finden Sie in der Hilfe für die folgenden Cmdlets:

         
Get-ActiveSyncDevice Get-ActiveSyncDeviceClass Get-CASMailbox Get-Contact Get-DistributionGroup
Get-DynamicDistributionGroup Get-Group Get-Mailbox Get-MailboxStatistics Get-MailContact
Get-MailPublicFolder Get-MailUser Get-Message Get-MobileDevice Get-Queue
Get-QueueDigest Get-Recipient Get-RemoteMailbox Get-RoleGroup Get-SecurityPrincipal
Get-StoreUsageStatistics Get-UMMailbox Get-User Get-UserPhoto Remove-Message
Resume-Message Resume-Queue Retry-Queue Suspend-Message Suspend-Queue

Clientseitige Filterung

Die clientseitige Filterung kann mit jedem Cmdlet verwendet werden. Diese Funktion umfasst die Cmdlets, die auch die serverseitige Filterung unterstützen. Wie weiter oben in diesem Thema beschrieben, akzeptiert die clientseitige Filterung alle Daten, die von einem vorherigen Befehl in der Pipeline zurückgegeben werden, und gibt wiederum nur die Ergebnisse zurück, die dem von Ihnen angegebenen Filter entsprechen. Das Cmdlet Where-Object führt diese Filterung aus. Sie kann auf Where (Wo) gekürzt werden.

Wenn Daten die Pipeline durchlaufen, empfängt das Cmdlet Where die Daten von dem vorherigen Objekt und filtert sie anschließend, bevor sie an das nächste Objekt übergeben werden. Der Filterung liegt ein Skriptblock zugrunde, der im Befehl Where definiert ist. Der Skriptblock filtert Daten anhand der Eigenschaften und Werte des Objekts.

Das Cmdlet Clear-Host dient zum Löschen des Inhalts des Konsolenfensters. In diesem Beispiel werden alle definierten Aliase für das Cmdlet Clear-Host angezeigt, wenn Sie den folgenden Befehl ausführen:

Get-Alias | Where {$_.Definition -eq "Clear-Host"}

CommandType     Name                            Definition
-----------     ----                            ----------
Alias           clear                           clear-host
Alias           cls                             clear-host

Das Cmdlet Get-Alias und der Befehl Where werden zusammen verwendet, um die Liste der Aliase zurückzugeben, die nur für das Cmdlet Clear-Host definiert sind. Die folgende Tabelle enthält die einzelnen Elemente des im Beispiel verwendeten Befehls Where.

Elemente des Befehls "Where"

Element Beschreibung
{ } Der Skriptblock, der den Filter definiert, wird in geschweifte Klammern eingeschlossen.
$_ Diese spezielle Variable wird automatisch initiiert und an die Objekte in der Pipeline gebunden.
Definition Die Definition -Eigenschaft ist die -Eigenschaft der aktuellen Pipelineobjekte, die den Namen der Aliasdefinition speichern. Wenn Definition mit der $_ Variablen verwendet wird, kommt ein Punkt vor dem Eigenschaftsnamen.
-eq Dieser Vergleichsoperator ("gleich") wird verwendet, um anzugeben, dass die Ergebnisse genau mit dem im Ausdruck übergebenen Eigenschaftswert übereinstimmen müssen.
"Clear-Host" In diesem Beispiel ist "Clear-Host" der Wert, für den der Befehl die Analyse durchführt.

In dem Beispiel stellen die durch das Cmdlet Get-Alias zurückgegebenen Werte alle definierten Aliase im System dar. Die Aliase werden zwar nicht in der Befehlszeile angezeigt, sie werden jedoch erfasst und mittels Pipe an das Cmdlet Where übergeben. Die Informationen im Skriptblock werden vom Cmdlet Where verwendet, um einen Filter auf die Aliasobjekte anzuwenden.

Die spezielle Variable $_represents die übergebenen Objekte. Die $_Variable wird automatisch von der Shell initiiert und an das aktuelle Pipelineobjekt gebunden. Weitere Informationen zu dieser speziellen Variablen finden Sie unter Shellvariablen.

Mithilfe der standardmäßigen Punktnotation (object.property) wird die Definition -Eigenschaft hinzugefügt, um die genaue Eigenschaft des auszuwertenden Objekts zu definieren. Der -eq Vergleichsoperator vergleicht dann den Wert dieser Eigenschaft mit "Clear-Host". Nur die Objekte mit der Definition -Eigenschaft, die diesem Kriterium entsprechen, werden zur Ausgabe an das Konsolenfenster übergeben. Weitere Informationen zu Vergleichsoperatoren finden Sie unter Vergleichsoperatoren.

Nachdem der Befehl Where die vom Cmdlet Get-Alias zurückgegebenen Objekte gefiltert hat, können die gefilterten Objekte mittels Pipe an einen anderen Befehl übergeben werden. Der nächste Befehl verarbeitet nur die gefilterten Objekte, die vom Befehl "Where" zurückgegeben wurden.