Format-List
Formatiert die Ausgabe als Liste von Eigenschaften, in denen jede Eigenschaft in einer neuen Zeile angezeigt wird.
Syntax
Format-List
[[-Property] <Object[]>]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Beschreibung
Das cmdlet Format-List
formatiert die Ausgabe eines Befehls als Liste der Eigenschaften, in denen jede Eigenschaft in einer separaten Zeile angezeigt wird. Sie können Format-List
verwenden, um alle oder ausgewählten Eigenschaften eines Objekts als Liste (Format-List -Property *
) zu formatieren und anzuzeigen.
Da in einer Liste mehr Platz für jedes Element als in einer Tabelle verfügbar ist, zeigt PowerShell mehr Eigenschaften des Objekts in der Liste an, und es ist weniger wahrscheinlich, dass Eigenschaftenwerte abgeschnitten werden.
Beispiele
Beispiel 1: Formatieren von Computerdiensten
Get-Service | Format-List
Dieser Befehl formatiert Informationen zu Diensten auf dem Computer als Liste. Standardmäßig sind die Dienste als Tabelle formatiert. Das Cmdlet Get-Service
ruft Objekte ab, die die Dienste auf dem Computer darstellen. Der Pipelineoperator (|
) leitet die Ergebnisse durch die Pipeline an Format-List
weiter.
Anschließend formatiert der Format-List
Befehl die Dienstinformationen in einer Liste und sendet sie an das Standardausgabe-Cmdlet für die Anzeige.
Beispiel 2: Formatieren von PS1XML-Dateien
Diese Befehle zeigen Informationen zu den PS1XML-Dateien im PowerShell-Verzeichnis als Liste an.
$A = Get-ChildItem $pshome\*.ps1xml
Format-List -InputObject $A
Der erste Befehl ruft die Objekte ab, die die Dateien darstellen, und speichert sie in der $A
Variablen.
Der zweite Befehl verwendet Format-List
zum Formatieren von Informationen zu Objekten, die in $A
gespeichert sind. Dieser Befehl verwendet den parameter InputObject, um die Variable an Format-List
zu übergeben, die dann die formatierte Ausgabe zum Anzeigen an das Standardausgabe-Cmdlet sendet.
Beispiel 3: Formatieren von Prozesseigenschaften nach Namen
Dieser Befehl zeigt den Namen, die Basispriorität und die Prioritätsklasse jedes Prozesses auf dem Computer an.
Get-Process | Format-List -Property Name, BasePriority, PriorityClass
Es verwendet das Cmdlet Get-Process
, um ein Objekt abzurufen, das jeden Prozess darstellt. Der Pipelineoperator (|
) übergibt die Prozessobjekte über die Pipeline an Format-List
.
Format-List
formatiert die Prozesse als Liste der angegebenen Eigenschaften. Der parametername Property ist optional, sodass Sie ihn weglassen können.
Beispiel 4: Formatieren aller Eigenschaften für einen Prozess
Mit diesem Befehl werden alle Eigenschaften des Winlogon-Prozesses angezeigt.
Get-Process winlogon | Format-List -Property *
Es verwendet das cmdlet Get-Process, um ein Objekt abzurufen, das den Winlogon-Prozess darstellt. Der Pipelineoperator (|
) übergibt das Winlogon-Prozessobjekt über die Pipeline an Format-List
. Der Befehl verwendet den Parameter Property, um die Eigenschaften anzugeben, und *
, um alle Eigenschaften zu kennzeichnen.
Da der Name des parameters Property optional ist, können Sie ihn weglassen und den Befehl als Format-List *
eingeben.
Format-List
sendet die Ergebnisse automatisch an das Standardausgabe-Cmdlet zur Anzeige.
Beispiel 5: Fehlerbehebung bei Formatfehlern
Die folgenden Beispiele zeigen die Ergebnisse, wenn Sie die Parameter DisplayError oder ShowError mit einem Ausdruck hinzufügen.
PC /> Get-Date | Format-List DayOfWeek,{ $_ / $null } -DisplayError
DayOfWeek : Friday
$_ / $null : #ERR
PC /> Get-Date | Format-List DayOfWeek,{ $_ / $null } -ShowError
DayOfWeek : Friday
$_ / $null :
Failed to evaluate expression " $_ / $null ".
+ CategoryInfo : InvalidArgument: (12/21/2018 7:59:23 AM:PSObject) [], RuntimeException
+ FullyQualifiedErrorId : PSPropertyExpressionError
Parameter
-DisplayError
Gibt an, dass dieses Cmdlet Fehler in der Befehlszeile anzeigt. Dieser Parameter wird selten verwendet, kann aber als Debugginghilfe verwendet werden, wenn Sie Ausdrücke in einem Format-List
Befehl formatieren, und die Ausdrücke scheinen nicht zu funktionieren.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Expand
Gibt das formatierte Auflistungsobjekt sowie die Objekte in der Auflistung an. Dieser Parameter wurde entwickelt, um Objekte zu formatieren, die die System.Collections.ICollection Schnittstelle unterstützen. Der Standardwert ist EnumOnly
. Die zulässigen Werte für diesen Parameter sind:
-
EnumOnly
. Zeigt die Eigenschaften der Objekte in der Auflistung an. -
CoreOnly
. Zeigt die Eigenschaften des Auflistungsobjekts an. -
Both
. Zeigt die Eigenschaften des Auflistungsobjekts und die Eigenschaften von Objekten in der Auflistung an.
Typ: | String |
Zulässige Werte: | CoreOnly, EnumOnly, Both |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Force
Gibt an, dass dieses Cmdlet alle Fehlerinformationen anzeigt. Wird mit dem Parameter DisplayError oder ShowError verwendet. Wenn ein Fehlerobjekt standardmäßig in den Fehler- oder Anzeigedatenstrom geschrieben wird, werden nur einige Fehlerinformationen angezeigt.
Außerdem erforderlich beim Formatieren bestimmter .NET-Typen. Weitere Informationen finden Sie im Abschnitt Hinweise.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-GroupBy
Gibt die Ausgabe in Gruppen auf der Grundlage einer gemeinsamen Eigenschaft oder eines gemeinsamen Werts an. Geben Sie einen Ausdruck oder eine Eigenschaft der Ausgabe ein. Der parameter GroupBy erwartet, dass die Objekte sortiert werden. Verwenden Sie das Cmdlet Sort-Object
, bevor Sie Format-List
verwenden, um die Objekte zu gruppieren.
Der Wert des parameters GroupBy kann eine neue berechnete Eigenschaft sein. Die berechnete Eigenschaft kann ein Skriptblock oder eine Hashtabelle sein. Gültige Schlüsselwertpaare sind:
-
Name
(oderLabel
) -<string>
-
Expression
-<string>
oder<script block>
FormatString
-<string>
Weitere Informationen finden Sie unter about_Calculated_Properties.
Typ: | Object |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InputObject
Gibt die zu formatierenden Objekte an. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder einen Ausdruck ein, durch den die Objekte abgerufen werden.
Typ: | PSObject |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Property
Gibt die Objekteigenschaften sowie die Reihenfolge an, in der sie in der Anzeige erscheinen. Platzhalter sind zulässig.
Wenn Sie diesen Parameter weglassen, hängen die eigenschaften, die in der Anzeige angezeigt werden, vom angezeigten Objekt ab. Der Parametername Property ist optional. Sie können die Parameter Property und View nicht im selben Befehl verwenden.
Der Wert des Property-Parameters kann eine neue berechnete Eigenschaft sein. Die berechnete Eigenschaft kann ein Skriptblock oder eine Hashtabelle sein. Gültige Schlüsselwertpaare sind:
-
Name
(oderLabel
) -<string>
-
Expression
-<string>
oder<script block>
FormatString
-<string>
Weitere Informationen finden Sie unter about_Calculated_Properties.
Typ: | Object[] |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-ShowError
Gibt an, dass das Cmdlet Fehler über die Pipeline sendet. Dieser Parameter wird selten verwendet, kann aber als Debugginghilfe verwendet werden, wenn Sie Ausdrücke in einem Format-List
Befehl formatieren, und die Ausdrücke scheinen nicht zu funktionieren.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-View
Gibt den Namen eines alternativen Listenformats oder einer alternativen Ansicht an. Sie können die Parameter Property und View nicht im selben Befehl verwenden.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können jedes Objekt an dieses Cmdlet weiterleiten.
Ausgaben
Microsoft.PowerShell.Commands.Internal.Format
Dieses Cmdlet gibt die Formatobjekte zurück, die die Liste darstellen.
Hinweise
PowerShell enthält die folgenden Aliase für Format-List
:
- Alle Plattformen:
fl
Die Format-Cmdlets, z. B. Format-List
, ordnen die anzuzeigenden Daten an, zeigen sie jedoch nicht an.
Die Daten werden durch die Ausgabefunktionen von PowerShell und die Cmdlets angezeigt, die das Out
-Verb (die Out
-Cmdlets) enthalten, z. B. Out-Host
oder Out-File
.
Wenn Sie kein Format-Cmdlet verwenden, wendet PowerShell dieses Standardformat für jedes angezeigte Objekt an.
Mit dem Parameter View können Sie ein alternatives Format für die Tabelle angeben. Sie können die in den *.format.PS1XML
Dateien im PowerShell-Verzeichnis definierten Ansichten verwenden, oder Sie können eigene Ansichten in neuen PS1XML-Dateien erstellen und das cmdlet Update-FormatData
verwenden, um sie in PowerShell einzuschließen.
Die alternative Ansicht für den parameter View muss das Listenformat verwenden, andernfalls schlägt der Befehl fehl. Wenn es sich bei der alternativen Ansicht um eine Tabelle handelt, verwenden Sie Format-Table
. Wenn die alternative Ansicht keine Liste oder Tabelle ist, verwenden Sie Format-Custom
.
Wenn Sie Format-List
mit dem Parameter Property verwenden möchten, müssen Sie den Parameter Force unter einer der folgenden Bedingungen einschließen:
Die Eingabeobjekte werden mithilfe der
ToString()
-Methode bandextern formatiert. Dies gilt für[string]
und primitive .NET-Typen, die eine Obermenge der integrierten numerischen Typen, z. B.[int]
,[long]
und andere.Die Eingabeobjekte weisen keine öffentlichen Eigenschaften auf.
Die Eingabeobjekte sind Instanzen der Wrappertypen, die PowerShell für andere Ausgabedatenströme als den Success-Ausgabestream verwendet. Dies gilt nur, wenn diese Wrappertypen an den Success-Ausgabestream gesendet werden. Dafür müssen sie entweder zuerst über allgemeine Parameter wie ErrorVariable erfasst oder über eine Umleitung wie
*>&1
verwendet werden.