Arbeiten mit Ausgaben von BefehlenWorking with command output

Gilt für: Exchange Server 2013Applies to: Exchange Server 2013

Die Exchange-Verwaltungsshell bietet verschiedene Methoden zum Formatieren der Befehlsausgabe.The Exchange Management Shell offers several methods that you can use to format command output. In diesem Thema werden die folgenden Punkte behandelt:This topic discusses the following subjects:

  • Vorgehensweise Formatieren von Daten steuern Sie, wie die Daten, die angezeigt werden, mit den Cmdlets Format-List, Format-Tableund Format-Wide formatiert werden.How to format data   Control how the data that you see is formatted by using the Format-List, Format-Table, and Format-Wide cmdlets.

  • Vorgehensweise zum Ausgeben von Daten bestimmen Sie, ob Daten im Fenster der Shell-Konsole oder in einer Datei mithilfe der Cmdlets " Out-Host " und " Out-File " ausgegeben werden.How to output data   Determine whether data is output to the Shell console window or to a file by using the Out-Host and Out-File cmdlets. Dieses Thema enthält ein Beispielskript zum Ausgeben von Daten an Microsoft Internet Explorer.Included in this topic is a sample script to output data to Microsoft Internet Explorer.

  • Vorgehensweise Filtern von Datenfilter Daten mithilfe einer der folgenden Filtermethoden:How to filter data   Filter data by using either of the following filtering methods:

    • Serverseitige Filterung, verfügbar bei bestimmten Cmdlets.Server-side filtering, available on certain cmdlets.

    • Clientseitige Filterung, verfügbar bei allen Cmdlets, indem die Ergebnisse eines Befehls mittels Pipe an das Cmdlet Where-Object übergeben werden.Client-side filtering, available on all cmdlets by piping the results of a command to the Where-Object cmdlet.

Wenn Sie die in diesem Thema beschriebene Funktionalität nutzen möchten, müssen Sie mit den folgenden Konzepten vertraut sein:To use the functionality that is described in this topic, you must be familiar with the following concepts:

Formatieren von DatenHow to format data

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.If you call formatting cmdlets at the end of the pipeline, you can override the default formatting to control what data is displayed and how that data appears. The formatting cmdlets are Format-List, Format-Table, and Format-Wide. Each has its own distinct output style that differs from the other formatting cmdlets.

Format-ListFormat-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.The Format-List cmdlet takes input from the pipeline and outputs a vertical columned list of all the specified properties of each object. Sie können angeben, welche Eigenschaften angezeigt werden sollen, indem Sie den Property- Parameter verwenden.You can specify which properties you want to display by using the Property parameter. Wenn das Cmdlet Format-List ohne Parameter aufgerufen wird, werden alle Eigenschaften ausgegeben.If the Format-List cmdlet is called without any parameters specified, all properties are output. Bei Verwendung des Cmdlets Format-List werden Zeilen nicht abgeschnitten, sondern es erfolgt ein Umbruch.The Format-List cmdlet wraps lines instead of truncating them. 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.One of the best uses for the Format-List cmdlet is to override the default output of a cmdlet so that you can retrieve additional or more focused information.

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.For example, when you call the Get-Mailbox cmdlet, you only see a limited amount of information in table format. If you pipe the output of the Get-Mailbox cmdlet to the Format-List cmdlet and add parameters for the additional or more focused information that you want to view, you can retrieve the output that you want.

Darüber hinaus kann auch ein Platzhalterzeichen (*) mit einem Teil eines Eigenschaftennamens angegeben werden.You can also specify a wildcard character "*" with a partial property name. Bei Angabe eines Platzhalterzeichens können mehrere Eigenschaften zugeordnet werden, ohne dass die Eigenschaften einzeln eingegeben werden müssen.If you include a wildcard character, you can match multiple properties without having to type each property name individually. Get-Mailbox | Format-List -Property Email*Gibt beispielsweise alle Eigenschaften zurück, die mit Emailbeginnen.For example, Get-Mailbox | Format-List -Property Email*returns all properties that begin with Email.

In den folgenden Beispiele wird gezeigt, wie dieselben von dem Cmdlet Get-Mailbox zurückgegebenen Daten auf unterschiedliche Weise angezeigt werden können.The following examples show the different ways that you can view the same data returned by the Get-Mailbox cmdlet.

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.In the first example, the Get-Mailbox cmdlet is called without specific formatting so the default output is in table format and contains a predetermined set of properties.

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.In the second example, the output of the Get-Mailbox cmdlet is piped to the Format-List cmdlet, together with specific properties. As you can see, the format and content of the output is significantly different.

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.In the last example, the output of the Get-Mailbox cmdlet is piped to the Format-List cmdlet as in the second example. Im letzten Beispiel wird jedoch ein Platzhalterzeichen verwendet, um alle Eigenschaften abzugleichen, die mit Emailbeginnen.However, in the last example, a wildcard character is used to match all properties that start with Email.

Wenn mehrere Objekte an das Cmdlet Format-List übergeben werden, werden alle für ein Objekt angegebenen Eigenschaften nach Objekt gruppiert und angezeigt.If more than one object is passed to the Format-List cmdlet, all specified properties for an object are displayed and grouped by object. Die Anzeigereihenfolge richtet sich nach dem Standardparameter für das Cmdlet.The display order depends on the default parameter for the cmdlet. Der Standardparameter ist der Name -Parameter oder der Parameter Identity am häufigsten.The default parameter is most frequently the Name parameter or the Identity parameter. Beispiel: Wenn das Cmdlet Get-Childitem aufgerufen wird, werden die Dateinamen in der Standardanzeige in alphabetischer Reihenfolge angezeigt.For example, when the Get-Childitem cmdlet is called, the default display order is file names in alphabetical order. Um dieses Verhalten zu ändern, müssen Sie das Cmdlet Format-List zusammen mit dem Parameter GroupBy und den Namen eines Eigenschaftswerts aufrufen, um den die Ausgabe gruppiert werden soll.To change this behavior, you must call the Format-List cmdlet, together with the GroupBy parameter, and the name of a property value by which you want to group the output. Im folgenden Befehl werden zum Beispiel alle Dateien in einem Verzeichnis aufgelistet und anschließend nach ihrer Dateierweiterung gruppiert.For example, the following command lists all files in a directory and then groups these files by extension.

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 Extension -Eigenschaft gruppiert, die durch den GroupBy -Parameter angegeben wird.In this example, the Format-List cmdlet has grouped the items by the Extension property that is specified by the GroupBy parameter. Der Parameter GroupBy kann mit jeder gültigen Eigenschaft für die Objekte im Pipelinestream verwendet werden.You can use the GroupBy parameter with any valid property for the objects in the pipeline stream.

Format-TableFormat-Table

Das Cmdlet Format-Table ermöglicht die Darstellung von Elementen im Tabellenformat mit Spaltenüberschriften und verschiedenen Spalten mit Eigenschaftendaten.The Format-Table cmdlet lets you display items in a table format with label headers and columns of property data. Viele Cmdlets, beispielsweise Get-Process und Get-Service, verwenden standardmäßig das Tabellenformat für die Ausgabe.By default, many cmdlets, such as the Get-Process and Get-Service cmdlets, use the table format for output. Parameter für das Cmdlet Format-Table umfassen die Eigenschaften und GroupBy -Parameter.Parameters for the Format-Table cmdlet include the Properties and GroupBy parameters. Die Funktionsweise dieser Parameter ist bei diesem Cmdlet dieselbe wie beim Cmdlet Format-List.These parameters work exactly as they do with the Format-List cmdlet.

In Verbindung mit dem Cmdlet Format-Table wird auch der Parameter Wrap verwendet.The Format-Table cmdlet also uses the Wrap parameter. Dieser ermöglicht die vollständige Anzeige von Eigenschaftendaten in langen Zeilen, d. h., die Information wird nicht am Ende einer Zeile abgeschnitten.This parameter enables long lines of property information to display completely instead of truncating at the end of a line. 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.To see how the Wrap parameter is used to display returned information, compare the output of the Get-Command command in the following two examples.

Wenn im ersten Beispiel das Cmdlet Get-Command zum Anzeigen von Befehlsinformationen zum Cmdlet Get-Process verwendet wird, werden die Informationen für die Definition -Eigenschaft abgeschnitten.In the first example, when the Get-Command cmdlet is used to display command information about the Get-Process cmdlet, the information for the Definition property is truncated.

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

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

Im zweiten Beispiel wird der Wrap -Parameter dem Befehl hinzugefügt, um zu erzwingen, dass der vollständige Inhalt der Definition -Eigenschaft angezeigt wird.In the second example, the Wrap parameter is added to the command to force the complete contents of the Definition property to display.

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 Format-List- Cmdlet können Sie auch ein Platzhalterzeichen "*" mit einem partiellen Eigenschaftennamen angeben.As with the Format-List cmdlet, you can also specify a wildcard character "*" with a partial property name. Durch Angabe eines Platzhalterzeichens können mehrere Eigenschaften zugeordnet werden, ohne dass die Eigenschaften einzeln eingegeben werden müssen.By including a wildcard character, you can match multiple properties without typing each property name individually.

Format-WideFormat-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.The Format-Wide cmdlet provides a much simpler output control than the other format cmdlets. By default, the Format-Wide cmdlet tries to display as many columns of property values as possible on a line of output. By adding parameters, you can control the number of columns and how the output space is used.

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:In the most basic usage, calling the Format-Wide cmdlet without any parameters arranges the output in as many columns as will fit the page. For example, if you run the Get-Childitem cmdlet and pipe its output to the Format-Wide cmdlet, you will see the following display of information:

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.Generally, calling the Get-Childitem cmdlet without any parameters displays the names of all files in the directory in a table of properties. 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.In this example, by piping the output of the Get-Childitem cmdlet to the Format-Wide cmdlet, the output was displayed in two columns of names. Beachten Sie, dass zur gleichen Zeit jeweils nur ein Eigenschaftentyp angezeigt werden kann, der durch einen Eigenschaftennamen gemäß dem Cmdlet Format-Wide angegeben wurde.Notice that only one property type can be displayed at a time, specified by a property name that follows the Format-Wide cmdlet. Wenn Sie den AutoSize -Parameter hinzufügen, wird die Ausgabe von zwei Spalten in so viele Spalten geändert, wie Sie der Bildschirmbreite entsprechen können.If you add the Autosize parameter, the output is changed from two columns to as many columns as can fit the screen width.

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 wird die Tabelle in fünf Spalten und nicht in zwei Spalten angeordnet.In this example, the table is arranged in five columns, instead of two columns. Der Column -Parameter bietet mehr Kontrolle, indem Sie die maximale Anzahl von Spalten angeben, die Informationen wie folgt angezeigt werden:The Column parameter offers more control by letting you specify the maximum number of columns to display information as follows:

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.In this example, the number of columns is forced to four by using the Column parameter.

DatenausgabeHow to output data

Cmdlets "Out-Host" und "Out-File"Out-Host and Out-File cmdlets

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):The Out-Host cmdlet is an unseen default cmdlet at the end of the pipeline. After all formatting is applied, the Out-Host cmdlet sends the final output to the console window for display. You don't have to explicitly call the Out-Host cmdlet, because it's the default output. You can override sending the output to the console window by calling the Out-File cmdlet as the last cmdlet in the command. The Out-File cmdlet then writes the output to the file that you specify in the command as in the following example:

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

In diesem Beispiel schreibt das Cmdlet Out-File die Informationen, die im Get-ChildItem | Format-Wide-Column 4 -Befehl in eine Datei mit dem OutputFile.txtNamen.In this example, the Out-File cmdlet writes the information that is displayed in the Get-ChildItem | Format-Wide -Column 4 command to a file that is named OutputFile.txt. Sie können die Pipelineausgabe auch mithilfe des Umleitungs Operators, bei dem es sich um die rechteckige Klammer ( > ) handelt, in eine Datei umleiten.You can also redirect pipeline output to a file by using the redirection operator, which is the right-angle bracket ( > ). Wenn Sie eine Pipelineausgabe eines Befehls an eine vorhandene Datei anfügen möchten, ohne die Originaldatei zu ersetzen, verwenden Sie die doppelten >> rechteckigen Klammern (), wie im folgenden Beispiel dargestellt:To append pipeline output of a command to an existing file without replacing the original file, use the double right-angle brackets ( >> ), as in the following example:

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 anschließend an das Ende der OutputFile.txt Datei geschrieben.In this example, the output from the Get-Childitem cmdlet is piped to the Format-Wide cmdlet for formatting and then is written to the end of the OutputFile.txt file. Beachten Sie: Wenn OutputFile.txt die Datei nicht vorhanden war, würde die Datei mit der doppelten rechten >> eckigen Klammer () erstellt.Notice that if the OutputFile.txt file didn't exist, use of the double right-angle brackets ( >> ) would create the file.

Weitere Informationen zu Pipelines finden Sie unter Pipelining.For more information about pipelines, see Pipelining.

Weitere Informationen zu der in den obigen Beispielen verwendeten Syntax finden Sie unter Syntax.For more information about the syntax used in the previous examples, see Syntax.

Anzeigen von Daten in Internet ExplorerViewing data 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.Because of the flexibility and ease of scripting in the Exchange Management Shell, you can take the data that is returned by commands and format and output them in almost limitless ways.

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:The following example shows how you can use a simple script to output the data that is returned by a command and display it in Internet Explorer. This script takes the objects that are passed through the pipeline, opens an Internet Explorer window, and then displays the data in Internet Explorer:

$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 C:\Program Files\Microsoft\Exchange Server\V15\Scripts im Verzeichnis auf dem Computer, auf dem das Skript ausgeführt wird.To use this script, save it to the C:\Program Files\Microsoft\Exchange Server\V15\Scripts directory on the computer where the script will be run. Nennen Sie die Out-Ie.ps1Datei.Name the file Out-Ie.ps1. Nachdem die Datei gespeichert wurde, kann das Skript als reguläres Cmdlet verwendet werden.After you save the file, you can then use the script as a regular cmdlet.

Hinweis

Zum Ausführen von Skripts in Exchange 2013 müssen die Skripts zunächst zu einer Verwaltungsrolle ohne Bereichseinschränkung hinzugefügt werden. Die Verwaltungsrolle muss Ihnen anschließend entweder direkt oder durch eine Verwaltungsrollengruppe zugewiesen werden. Weitere Informationen finden Sie unter Grundlegendes zu Verwaltungsrollen.To run scripts in Exchange 2013, scripts must be added to an unscoped management role and you must be assigned the management role either directly or through a management role group. For more information, see Understanding management roles.

Bei Out-Ie dem Skript wird davon ausgegangen, dass die empfangenen Daten ein gültiges HTML sind.The Out-Ie script assumes that the data it receives is valid HTML. Zur Umwandlung der anzuzeigenden Daten in das HTML-Format müssen die Ergebnisse des Befehls mittels Pipe an das Cmdlet ConvertTo-Html übergeben werden.To convert the data that you want to view into HTML, you must pipe the results of your command to the ConvertTo-Html cmdlet. Anschließend können Sie die Ergebnisse dieses Befehls an das Out-Ie Skript weiterleiten.You can then pipe the results of that command to the Out-Ie script. Im folgenden Beispiel wird gezeigt, wie eine Verzeichnisauflistung in einem Internet Explorer-Fenster angezeigt wird:The following example shows how to view a directory listing in an Internet Explorer window:

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

Filtern von DatenHow to filter data

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:The Shell gives you access to a large quantity of information about your servers, mailboxes, Active Directory, and other objects in your organization. Although access to this information helps you better understand your environment, this much information can be overwhelming. The Shell lets you control this information and return only the data that you want to see by using filtering. The following types of filtering are available:

  • Serverseitige Filterung: die serverseitige Filterung verwendet den von Ihnen angegebenen Filter an der Befehlszeile und sendet Sie an den von Ihnen abfragenden Exchange-Server.Server-side filtering: Server-side filtering takes the filter that you specify on the command line and submits it to the Exchange server that you query. Der Server verarbeitet die Abfrage und gibt nur die Daten zurück, die dem angegebenen Filter entsprechen.That server processes the query and returns only the data that matches the filter that you specified.

    Die serverseitige Filterung wird nur bei Objekten ausgeführt, bei denen möglicherweise Zehn- oder Hunderttausende von Ergebnissen zurückgegeben werden.Server-side filtering is performed only on objects where tens or hundreds of thousands of results could be returned. 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.Therefore, only the recipient management cmdlets, such as the Get-Mailbox cmdlet, and queue management cmdlets, such as the Get-Queue cmdlet, support server-side filtering. Diese Cmdlets unterstützen den Parameter Filter .These cmdlets support the Filter parameter. Dieser Parameter übernimmt den von Ihnen angegebenen Filterausdruck und übergibt ihn zur Verarbeitung an den Server.This parameter takes the filter expression that you specify and submits it to the server for processing.

  • Clientseitige Filterung: die clientseitige Filterung wird für die Objekte im lokalen Konsolenfenster ausgeführt, in dem Sie derzeit arbeiten.Client-side filtering: Client-side filtering is performed on the objects in the local console window in which you are currently working. Bei der clientseitigen Filterung ruft das Cmdlet alle Objekte ab, die der von Ihnen im lokalen Konsolenfenster durchgeführten Aufgabe entsprechen.When you use client-side filtering, the cmdlet retrieves all the objects that match the task that you are performing to the local console window. 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.The Shell then takes all the returned results, applies the client-side filter to those results, and returns to you only the results that match your filter. Alle Cmdlets unterstützen die clientseitige Filterung.All cmdlets support client-side filtering. Diese wird aufgerufen, indem die Ergebnisse eines Befehls mittels Pipe an das Cmdlet Where-Object übergeben werden.This is invoked by piping the results of a command to the Where-Object cmdlet.

Serverseitige FilterungServer-side filtering

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:The implementation of server-side filtering is specific to the cmdlet on which it is supported. Server-side filtering is enabled only on specific properties on the objects that are returned. For more information, see the Help for the following cmdlets:

Get-ActiveSyncDeviceGet-ActiveSyncDevice

Get-ActiveSyncDeviceClassGet-ActiveSyncDeviceClass

Get-CASMailboxGet-CASMailbox

Get-ContactGet-Contact

Get-DistributionGroupGet-DistributionGroup

Get-DynamicDistributionGroupGet-DynamicDistributionGroup

Get-GroupGet-Group

Get-MailboxGet-Mailbox

Get-MailboxStatisticsGet-MailboxStatistics

Get-MailContactGet-MailContact

Get-MailPublicFolderGet-MailPublicFolder

Get-MailUserGet-MailUser

Get-MessageGet-Message

Get-MobileDeviceGet-MobileDevice

Get-QueueGet-Queue

Get-Queue DigestGet-QueueDigest

Get-RecipientGet-Recipient

Get-Remote MailboxGet-RemoteMailbox

Get-RoleGroupGet-RoleGroup

Get-SecurityPrincipalGet-SecurityPrincipal

Get-StoreUsageStatisticsGet-StoreUsageStatistics

Get-UMMailboxGet-UMMailbox

Get-UserGet-User

Get-UserPhotoGet-UserPhoto

Remove-MessageRemove-Message

Resume-MessageResume-Message

Resume-QueueResume-Queue

Retry-QueueRetry-Queue

Suspend-MessageSuspend-Message

Suspend-QueueSuspend-Queue

Clientseitige FilterungClient-side filtering

Die clientseitige Filterung kann mit jedem beliebigen Cmdlet verwendet werden. Hierzu zählen auch die Cmdlets, die ebenfalls die serverseitige Filterung unterstützen. Wie bereits weiter oben erläutert, werden bei der clientseitigen Filterung alle Daten akzeptiert, die von einem früheren Befehl in der Pipeline zurückgegeben wurden. Anschließend werden nur die Ergebnisse zurückgegeben, die dem angegebenen Filter entsprechen. Diese Art der Filterung wird mit dem Cmdlet Where-Object durchgeführt. Es kann zu Where verkürzt werden.Client-side filtering can be used with any cmdlet. This capability includes those cmdlets that also support server-side filtering. As described earlier in this topic, client-side filtering accepts all the data that is returned by a previous command in the pipeline, and in turn, returns only the results that match the filter that you specify. The Where-Object cmdlet performs this filtering. It can be shortened to Where.

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.As data passes through the pipeline, the Where cmdlet receives the data from the previous object and then filters the data before passing it on to the next object. The filtering is based on a script block that is defined in the Where command. The script block filters data based on the object's properties and values.

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:The Clear-Host cmdlet is used to clear the console window. In this example, you can find all the defined aliases for the Clear-Host cmdlet if you run the following command:

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.The Get-Alias cmdlet and the Where command work together to return the list of aliases that are defined for the Clear-Host cmdlet and no other cmdlets. The following table outlines each element of the Where command that is used in the example.

Elemente des Befehls "Where"Elements of the Where command

ElementElement BeschreibungDescription

{ }

Der Skriptblock, der den Filter definiert, wird in geschweifte Klammern eingeschlossen.Braces enclose the script block that defines the filter.

$_

Diese spezielle Variable wird automatisch initiiert und an die Objekte in der Pipeline gebunden.This special variable automatically initiates and binds to the objects in the pipeline.

Definition

Die Definition -Eigenschaft ist die Eigenschaft der aktuellen Pipelineobjekte, die den Namen der Aliasdefinition speichern.The Definition property is the property of the current pipeline objects that stores the name of the alias definition. Wenn Definition mit der $_ Variablen verwendet wird, steht ein Punkt vor dem Eigenschaftennamen.When Definition is used with the $_ variable, a period comes before the property name.

-eq

Dieser Vergleichsoperator ("gleich") wird verwendet, um anzugeben, dass die Ergebnisse genau mit dem im Ausdruck übergebenen Eigenschaftswert übereinstimmen müssen.This comparison operator for "equal to" is used to specify that the results must exactly match the property value that is supplied in the expression.

"Clear-Host""Clear-Host"

In diesem Beispiel ist " Clear-Host " der Wert, für den der Befehl analysiert wird.In this example, "Clear-Host" is the value for which the command is parsing.

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.In the example, the objects that are returned by the Get-Alias cmdlet represent all the defined aliases on the system. Even though you don't see them from the command line, the aliases are collected and passed to the Where cmdlet through the pipeline. The Where cmdlet uses the information in the script block to apply a filter to the alias objects.

Die spezielle Variable $ _stellt die Objekte dar, die übergeben werden.The special variable $_represents the objects that are being passed. Die $_Variable wird automatisch von der Shell initiiert und ist an das aktuelle Pipelineobjekt gebunden.The $_variable is automatically initiated by the Shell and is bound to the current pipeline object. Weitere Informationen zu dieser speziellen Variable finden Sie unter Shell variables.For more information about this special variable, see Shell variables.

Bei Verwendung der standardmäßigen "dot"-Notation (Object Definition . Property) wird die Eigenschaft hinzugefügt, um die genaue Eigenschaft des auszuwertenden Objekts zu definieren.Using standard "dot" notation (object.property), the Definition property is added to define the exact property of the object to evaluate. Der -eq Vergleichsoperator vergleicht dann den Wert dieser Eigenschaft mit "Clear-Host".The -eq comparison operator then compares the value of this property to "Clear-Host". Nur die Objekte mit der Definition Eigenschaft, die diesem Kriterium entsprechen, werden für die Ausgabe an das Konsolenfenster übergeben.Only the objects that have the Definition property that match this criterion are passed to the console window for output. Weitere Informationen zu Vergleichsoperatoren finden Sie unter Comparison Operators.For more information about comparison operators, see Comparison operators.

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.After the Where command has filtered the objects returned by the Get-Alias cmdlet, you can pipe the filtered objects to another command. The next command processes only the filtered objects returned by the Where command.