Format-Table
Formatiert die Ausgabe als Tabelle.
Syntax
Default (Standard)
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Beschreibung
Das cmdlet Format-Table formatiert die Ausgabe eines Befehls als Tabelle mit den ausgewählten Eigenschaften des Objekts in jeder Spalte. Der Objekttyp bestimmt das Standardlayout und die Eigenschaften, die in jeder Spalte angezeigt werden. Sie können jedoch den Parameter Property verwenden, um die anzuzeigenden Eigenschaften auszuwählen.
Sie können auch eine Hashtabelle verwenden, um berechnete Eigenschaften zu einem Objekt hinzuzufügen, bevor Sie es anzeigen und die Spaltenüberschriften in der Tabelle angeben. Um eine berechnete Eigenschaft hinzuzufügen, verwenden Sie den Parameter Property oder GroupBy.
Beispiele
Beispiel 1: Formatieren von PowerShell-Host
Dieser Befehl zeigt Informationen zum Hostprogramm für PowerShell in einer Tabelle an. Standardmäßig sind sie in einer Liste formatiert.
Get-Host | Format-Table -AutoSize
Das Cmdlet Get-Host ruft Objekte ab, die den Host darstellen. Der Pipelineoperator (|) übergibt das Objekt an das Cmdlet Format-Table. Das cmdlet Format-Table formatiert die Objekte in einer Tabelle. Mit dem AutoSize-Parameter werden die Spaltenbreiten angepasst, um Abschneidungen zu minimieren.
Beispiel 2: Formatieren von Prozessen nach BasePriority
Mit diesem Befehl werden die Prozesse auf dem Computer in Gruppen mit derselben Basispriorität angezeigt.
Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap
Das Cmdlet Get-Process ruft Objekte ab, die jeden Prozess auf dem Computer darstellen. Der Pipelineoperator (|) übergibt das Objekt an das Cmdlet Sort-Object, das die Objekte in der Reihenfolge ihrer Basispriorität sortiert.
Ein anderer Pipelineoperator übergibt die Ergebnisse an das Cmdlet Format-Table. Der parameter GroupBy ordnet die Daten zu den Prozessen in Gruppen basierend auf dem Wert ihrer BasePriority-Eigenschaft an. Der parameter Wrap stellt sicher, dass Daten nicht abgeschnitten werden.
Beispiel 3: Formatieren von Prozessen nach Startdatum
Get-Process | Sort-Object starttime | Format-Table -View starttime
Mit diesem Befehl werden Informationen zu den Prozessen auf dem Computer in der Gruppe basierend auf dem Startdatum des Prozesses angezeigt. Es verwendet das Cmdlet Get-Process, um Objekte abzurufen, die die Prozesse auf dem Computer darstellen. Der Pipelineoperator (|) sendet die Ausgabe von Get-Process an das Cmdlet Sort-Object, das sie basierend auf der StartTime-Eigenschaft sortiert. Ein anderer Pipelineoperator sendet die sortierten Ergebnisse an Format-Table.
Der parameter View wird verwendet, um die StartTime Ansicht auszuwählen, die in der datei DotNetTypes.format.ps1xml für System.Diagnostics.Process--Objekte definiert ist, z. B. die von Get-Processzurückgegebenen Objekte. In dieser Ansicht werden die StartTime- des Prozesses in ein kurzes Datum konvertiert und dann die Prozesse nach Startdatum gruppiert.
Die datei DotNetTypes.format.ps1xml enthält auch eine Priority ansicht für Prozesse. Sie können eigene format.ps1xml-Dateien mit angepassten Ansichten erstellen.
Beispiel 4: Formatieren von Diensten
Get-Service | Format-Table -Property Name, DependentServices
Mit diesem Befehl werden alle Dienste auf dem Computer in einer Tabelle mit zwei Spalten Name und DependentServices-angezeigt. Das Cmdlet Get-Service ruft alle Dienste auf dem Computer ab. Der Pipelineoperator (|) sendet die Ergebnisse an das Cmdlet Format-Table, das die Ausgabe in einer Tabelle formatiert.
Der parameter Property gibt die Eigenschaften an, die in der Tabelle als Spalten angezeigt werden. Der Name des Property-Parameters ist optional, sodass Sie ihn weglassen können, z. B. Format-Table Name, DependentServices.
Name und DependentServices sind nur zwei der Eigenschaften von Dienstobjekten. Geben Sie Get-Service | Get-Member -MemberType Propertiesein, um alle Eigenschaften anzuzeigen.
Beispiel 5: Formatieren eines Prozesses und Berechnen der Laufzeit
Dieser Befehl zeigt, wie sie eine berechnete Eigenschaft in einer Tabelle verwenden.
Get-Process Notepad | Format-Table ProcessName,
@{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}
Der Befehl zeigt eine Tabelle mit dem Prozessnamen und der Gesamtlaufzeit aller Editorprozesse auf dem lokalen Computer an. Die Gesamtlaufzeit wird berechnet, indem die Startzeit jedes Prozesses von der aktuellen Zeit subtrahiert wird.
Der Befehl verwendet das Cmdlet Get-Process, um alle Prozesse namens Notepad auf dem lokalen Computer abzurufen.
Der Pipelineoperator (|) sendet die Ergebnisse an Format-Table, wodurch eine Tabelle mit zwei Spalten angezeigt wird: ProcessName, eine Standardeigenschaft von Prozessen und TotalRunningTime, eine berechnete Eigenschaft.
Die TotalRunningTime--Eigenschaft wird durch eine Hashtabelle mit zwei Schlüsseln angegeben, Label und Expression. Der Name der Eigenschaft wird dem schlüssel Label zugewiesen. Die Berechnung wird dem schlüssel Expression zugewiesen. Der Ausdruck ruft die StartTime--Eigenschaft jedes Prozessobjekts ab und subtrahiert sie vom Ergebnis eines Get-Date Befehls, der das aktuelle Datum und die aktuelle Uhrzeit abruft.
Beispiel 6: Formatieren von Editorprozessen
Diese Befehle ähneln dem vorherigen Befehl, mit der Ausnahme, dass diese Befehle das cmdlet Get-WmiObject verwenden.
$Processes = Get-WmiObject -ComputerName "Server01" -Class win32_process -Filter "name='notepad.exe'"
$Processes | Format-Table ProcessName, @{ Label = "Total Running Time"; Expression={(Get-Date) - $_.ConvertToDateTime($_.CreationDate)}}
Der erste Befehl verwendet das Cmdlet Get-WmiObject zum Abrufen von Instanzen der WMI-Win32_Process Klasse, die alle Prozesse auf dem Server01-Computer beschreibt, die Notepad.exebenannt sind.
Der Befehl speichert die Prozessinformationen in der variablen $Processes.
Der zweite Befehl verwendet einen Pipelineoperator (|), um die Prozessinformationen in der $Processes Variablen an das Cmdlet Format-Table zu senden, der die ProcessName- und eine neue berechnete Eigenschaft anzeigt.
Der Befehl weist der Bezeichnung Schlüssel den Namen der neuen berechneten Eigenschaft "Total Running Time" zu. Der Skriptblock, der dem Ausdruck Schlüssels zugewiesen ist, berechnet, wie lange der Prozess ausgeführt wurde, indem das Erstellungsdatum des Prozesses vom aktuellen Datum subtrahiert wird. Das Cmdlet Get-Date ruft das aktuelle Datum ab. Die ConvertToDateTime--Methode konvertiert die CreationDate -Eigenschaft des Win32_Process -Objekts aus einem WMI-CIM_DATETIME -Objekt in ein .NET DateTime -Objekt, das mit der Ausgabe von Get-Dateverglichen werden kann. Anschließend wird das konvertierte Erstellungsdatum vom aktuellen Datum subtrahiert. Das Ergebnis ist der Wert Gesamtlaufzeit.
Beispiel 7: Problembehandlung bei Formatfehlern
Die folgenden Beispiele zeigen die Ergebnisse, wenn Sie die Parameter DisplayError oder ShowError mit einem Ausdruck hinzufügen.
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -DisplayError
DayOfWeek $_ / $null
--------- ------------
Wednesday #ERR
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -ShowError
DayOfWeek $_ / $null
--------- ------------
Wednesday
Failed to evaluate expression " $_ / $null ".
+ CategoryInfo : InvalidArgument: (10/30/2013 2:28:07 PM:PSObject) \[\], RuntimeException
+ FullyQualifiedErrorId : mshExpressionError
Parameter
-AutoSize
Gibt an, dass das Cmdlet die Spaltengröße und die Anzahl der Spalten basierend auf der Breite der Daten anpasst. Standardmäßig werden die Spaltengröße und -zahl durch die Ansicht bestimmt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-DisplayError
Gibt an, dass das Cmdlet Fehler in der Befehlszeile anzeigt. Dieser Parameter wird selten verwendet, kann aber als Debugginghilfe verwendet werden, wenn Sie Ausdrücke in einem Format-Table Befehl formatieren, und die Ausdrücke scheinen nicht zu funktionieren.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Expand
Gibt das Format des Auflistungsobjekts sowie die Objekte in der Auflistung an. Dieser Parameter wurde entwickelt, um Objekte zu formatieren, die die ICollection-Schnittstelle (System.Collections) 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 Sammlungsobjekts an.
- Beides: Zeigt die Eigenschaften des Auflistungsobjekts und die Eigenschaften von Objekten in der Auflistung an.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Zulässige Werte: | CoreOnly, EnumOnly, Both |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Force
Gibt an, dass das Cmdlet das Cmdlet angibt, um alle Fehlerinformationen anzuzeigen. Wird mit dem Parameter DisplayError oder ShowError verwendet. Wenn ein Fehlerobjekt standardmäßig in den Fehler- oder Anzeigedatenstrom geschrieben wird, werden nur einige der Fehlerinformationen angezeigt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-GroupBy
Gibt die sortierte Ausgabe in separaten Tabellen basierend auf einem Eigenschaftswert an. Sie können z. B. GroupBy- verwenden, um Dienste basierend auf ihrem Status in separaten Tabellen auflisten.
Geben Sie einen Ausdruck oder eine Eigenschaft der Ausgabe ein. Die Ausgabe muss sortiert werden, bevor Sie sie an Format-Tablesenden.
Der Wert des parameters GroupBy kann eine neue berechnete Eigenschaft sein. Verwenden Sie zum Erstellen einer berechneten Eigenschaft eine Hashtabelle. Gültige Schlüssel sind:
- Name (oder Bezeichnung) <Zeichenfolge>
- Ausdruck <Zeichenfolge> oder <Skriptblocks>
- FormatString-<Zeichenfolgen->
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-HideTableHeaders
Weggelassen die Spaltenüberschriften aus der Tabelle.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-InputObject
Gibt die zu formatierenden Objekte an. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder Ausdruck ein, der die Objekte ermittelt.
Parametereigenschaften
| Typ: | PSObject |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Property
Legt die Objekteigenschaften fest, die in der Anzeige erscheinen, sowie die Reihenfolge ihres Erscheinens. Geben Sie einen oder mehrere Eigenschaftsnamen (durch Kommas getrennt) ein, oder verwenden Sie eine Hashtabelle, um eine berechnete Eigenschaft anzuzeigen. Wildcards sind zulässig.
Wenn Sie diesen Parameter weglassen, hängen die eigenschaften, die in der Anzeige angezeigt werden, von den Eigenschaften des ersten Objekts ab. Wenn das erste Objekt beispielsweise PropertyA- und PropertyB- hat, nachfolgende Objekte jedoch PropertyA-haben, PropertyB- und PropertyC nur PropertyA und PropertyB Kopfzeilen angezeigt werden.
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. Verwenden Sie zum Erstellen einer berechneten Eigenschaft eine Hashtabelle. Gültige Schlüssel sind:
- Name (oder Bezeichnung) <Zeichenfolge>
- Ausdruck <Zeichenfolge> oder <Skriptblocks>
- FormatString-<Zeichenfolgen->
- Breite <int32->
- Ausrichtung (Wert kann "Left", "Center" oder "Right") sein.
Parametereigenschaften
| Typ: | Object[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ShowError
Sendet Fehler über die Pipeline. Dieser Parameter wird selten verwendet, kann aber als Debugginghilfe verwendet werden, wenn Sie Ausdrücke in einem Format-Table Befehl formatieren, und die Ausdrücke scheinen nicht zu funktionieren.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-View
Gibt den Namen eines alternativen Tabellenformats oder einer anderen Ansicht an. Sie können die Parameter Property und View nicht im selben Befehl verwenden.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Wrap
Zeigt Text an, der die Spaltenbreite in der nächsten Zeile überschreitet. Standardmäßig wird Text, der die Spaltenbreite überschreitet, abgeschnitten.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
PSObject
Sie können jedes Objekt an Format-Tablepfeifen.
Ausgaben
Microsoft.PowerShell.Commands.Internal.Format
Format-Table gibt Formatobjekte zurück, die die Tabelle darstellen.
Hinweise
Der parameter GroupBy geht davon aus, dass die Objekte sortiert sind. Verwenden Sie das Cmdlet Sort-Object, bevor Sie Format-Table verwenden, um die Objekte zu gruppieren.
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 eigene Ansichten in neuen PS1XML-Dateien erstellen und dann das cmdlet Update-FormatData verwenden, um sie in PowerShell einzuschließen. Die alternativen Ansichten für den Parameter View müssen das Tabellenformat verwenden, andernfalls schlägt der Befehl fehl.
Wenn es sich bei der alternativen Ansicht um eine Liste handelt, verwenden Sie das Cmdlet Format-List. Wenn die alternative Ansicht weder eine Liste noch eine Tabelle ist, verwenden Sie das cmdlet Format-Custom.