Format-Table
Formatuje dane wyjściowe jako tabelę.
Składnia
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>][-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>][<CommonParameters>]
Opis
Polecenie cmdlet Format-Table
formatuje dane wyjściowe polecenia jako tabelę z wybranymi właściwościami obiektu w każdej kolumnie. Typ obiektu określa domyślny układ i właściwości wyświetlane w każdej kolumnie, ale można użyć parametru Property, aby wybrać właściwości, które chcesz zobaczyć.
Możesz również użyć tabeli skrótów, aby dodać właściwości obliczeniowe do obiektu przed jego wyświetleniem i określić nagłówki kolumn w tabeli. Aby dodać właściwość obliczeniową, użyj parametru właściwości
Przykłady
Przykład 1. Formatowanie hosta programu PowerShell
To polecenie wyświetla informacje o programie hosta dla programu PowerShell w tabeli. Domyślnie są one formatowane na liście.
Get-Host | Format-Table -AutoSize
Polecenie cmdlet Get-Host
pobiera obiekty reprezentujące hosta. Operator potoku (|) przekazuje obiekt do polecenia cmdlet Format-Table
. Polecenie cmdlet Format-Table
formatuje obiekty w tabeli. Parametr AutoSize dostosowuje szerokość kolumny, aby zminimalizować obcinanie.
Przykład 2. Formatowanie procesów według parametru BasePriority
To polecenie wyświetla procesy na komputerze w grupach z tym samym priorytetem podstawowym.
Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap
Polecenie cmdlet Get-Process pobiera obiekty reprezentujące każdy proces na komputerze. Operator potoku (|) przekazuje obiekt do polecenia cmdlet Sort-Object, które sortuje obiekty w kolejności od ich priorytetu podstawowego.
Inny operator potoku przekazuje wyniki do polecenia cmdlet Format-Table
. Parametr GroupBy rozmieszcza dane dotyczące procesów w grupy na podstawie wartości właściwości BasePriority. Parametr Zawijanie gwarantuje, że dane nie są obcinane.
Przykład 3. Formatowanie procesów według daty rozpoczęcia
Get-Process | Sort-Object starttime | Format-Table -View starttime
To polecenie wyświetla informacje o procesach na komputerze w grupie na podstawie daty rozpoczęcia procesu. Używa on polecenia cmdlet Get-Process do pobierania obiektów reprezentujących procesy na komputerze. Operator potoku (|) wysyła dane wyjściowe Get-Process
do polecenia cmdlet Sort-Object
, które sortuje je na podstawie właściwości StartTime. Inny operator potoku wysyła posortowane wyniki do Format-Table
.
Parametr
Plik
Przykład 4. Formatowanie usług
Get-Service | Format-Table -Property Name, DependentServices
To polecenie wyświetla wszystkie usługi na komputerze w tabeli z dwiema kolumnami, Name i DependentServices. Polecenie cmdlet Get-Service
pobiera wszystkie usługi na komputerze. Operator potoku (|) wysyła wyniki do polecenia cmdlet Format-Table
, które formatuje dane wyjściowe w tabeli.
Parametr Property określa właściwości, które są wyświetlane w tabeli jako kolumny. Nazwa parametru właściwości
Name i DependentServices to tylko dwie właściwości obiektów usługi. Aby wyświetlić wszystkie właściwości, wpisz Get-Service | Get-Member -MemberType Properties
.
Przykład 5. Formatowanie procesu i obliczanie czasu działania
To polecenie pokazuje, jak używać właściwości obliczeniowej w tabeli.
Get-Process Notepad | Format-Table ProcessName,
@{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}
Polecenie wyświetla tabelę z nazwą procesu i łącznym czasem wykonywania wszystkich procesów Notatnika na komputerze lokalnym. Łączny czas wykonywania jest obliczany przez odjęcie czasu rozpoczęcia każdego procesu od bieżącego czasu.
Polecenie używa polecenia cmdlet Get-Process
, aby pobrać wszystkie procesy o nazwie Notatnik na komputerze lokalnym.
Operator potoku (|) wysyła wyniki do Format-Table
, która wyświetla tabelę z dwiema kolumnami: ProcessName, standardową właściwością procesów i TotalRunningTime, właściwością obliczeniową.
Właściwość totalRunningTime Get-Date
, które pobiera bieżącą datę i godzinę.
Przykład 6. Formatowanie procesów Notatnika
Te polecenia są podobne do poprzedniego polecenia, z tą różnicą, że te polecenia używają polecenia cmdlet Get-WmiObject
.
$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)}}
Pierwsze polecenie używa polecenia cmdlet Get-WmiObject
w celu pobrania wystąpień klasy Win32_Process usługi WMI, która opisuje wszystkie procesy na komputerze Server01 o nazwie Notepad.exe
.
Polecenie przechowuje informacje o procesie w zmiennej $Processes
.
Drugie polecenie używa operatora potoku (|) do wysyłania informacji o procesie w zmiennej $Processes
do polecenia cmdlet Format-Table
, które wyświetla ProcessName i nową właściwość obliczeniową.
Polecenie przypisuje nazwę nowej właściwości obliczeniowej "Total Running Time" do klucza Label. Blok skryptu przypisany do klucza Expression oblicza, jak długo proces został uruchomiony, odejmując datę utworzenia procesu od bieżącej daty. Polecenie cmdlet Get-Date
pobiera bieżącą datę. Metoda ConvertToDateTime konwertuje właściwość CreationDate obiektu Win32_Process z obiektu CIM_DATETIME WMI na obiekt CIM_DATETIME platformy .NET DateTime, który można porównać z danymi wyjściowymi Get-Date
. Następnie przekonwertowana data utworzenia jest odejmowana od bieżącej daty. Wynikiem jest wartość łącznego czasu działania.
Przykład 7. Rozwiązywanie problemów z błędami formatu
W poniższych przykładach pokazano wyniki dodawania parametrów DisplayError lub ShowError z wyrażeniem.
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
Parametry
-AutoSize
Wskazuje, że polecenie cmdlet dostosowuje rozmiar kolumn i liczbę kolumn na podstawie szerokości danych. Domyślnie rozmiar i liczba kolumn są określane przez widok.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DisplayError
Wskazuje, że polecenie cmdlet wyświetla błędy w wierszu polecenia. Ten parametr jest rzadko używany, ale może być używany jako pomoc debugowania podczas formatowania wyrażeń w Format-Table
polecenia, a wyrażenia nie wydają się działać.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Expand
Określa format obiektu kolekcji, a także obiekty w kolekcji. Ten parametr jest przeznaczony do formatowania obiektów obsługujących interfejs ICollection (System.Collections). Wartość domyślna to EnumOnly. Dopuszczalne wartości tego parametru to:
- EnumOnly: wyświetla właściwości obiektów w kolekcji.
- CoreOnly: wyświetla właściwości obiektu kolekcji.
- Oba: wyświetla właściwości obiektu kolekcji i właściwości obiektów w kolekcji.
Typ: | String |
Dopuszczalne wartości: | CoreOnly, EnumOnly, Both |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Force
Wskazuje, że polecenie cmdlet kieruje polecenie cmdlet, aby wyświetlić wszystkie informacje o błędzie. Użyj parametru DisplayError lub ShowError. Domyślnie, gdy obiekt błędu jest zapisywany w strumieniach błędów lub wyświetlanych strumieni, wyświetlane są tylko niektóre informacje o błędzie.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-GroupBy
Określa posortowane dane wyjściowe w osobnych tabelach na podstawie wartości właściwości. Na przykład można użyć GroupBy do wyświetlania listy usług w osobnych tabelach na podstawie ich stanu.
Wprowadź wyrażenie lub właściwość danych wyjściowych. Dane wyjściowe muszą zostać posortowane przed wysłaniem ich do Format-Table
.
Wartość parametru GroupBy może być nową właściwością obliczeniową. Aby utworzyć tabelę obliczeniową, użyj tabeli skrótów. Prawidłowe klucze to:
- Ciąg <nazwa (lub etykieta)>
- Blok>> lub blok skryptu <<wyrażeń
- > ciągów <FormatString
Typ: | Object |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-HideTableHeaders
Pomija nagłówki kolumn z tabeli.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Określa obiekty do formatowania. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty.
Typ: | PSObject |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Property
Określa właściwości obiektu wyświetlane na ekranie i kolejność ich wyświetlania. Wpisz co najmniej jedną nazwę właściwości (rozdzieloną przecinkami) lub użyj tabeli skrótów, aby wyświetlić właściwość obliczeniową. Dozwolone są symbole wieloznaczne.
Jeśli pominiesz ten parametr, właściwości wyświetlane na ekranie zależą od właściwości pierwszego obiektu. Jeśli na przykład pierwszy obiekt ma PropertyA i PropertyB, ale kolejne obiekty mają PropertyA, PropertyB i PropertyC tylko PropertyA i WłaściwościB nagłówki.
Nazwa parametru właściwość jest opcjonalna. W tym samym poleceniu nie można użyć parametrów właściwości i View.
Wartość parametru Property może być nową właściwością obliczeniową. Aby utworzyć właściwość obliczeniową, użyj tabeli skrótów. Prawidłowe klucze to:
- Ciąg <nazwa (lub etykieta)>
- Blok>> lub blok skryptu <<wyrażeń
- > ciągów <FormatString
- Szerokość <int32>
- Wyrównanie (wartość może być "Lewa", "Środkowa" lub "Prawa")
Typ: | Object[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-ShowError
Wysyła błędy za pośrednictwem potoku. Ten parametr jest rzadko używany, ale może być używany jako pomoc debugowania podczas formatowania wyrażeń w Format-Table
polecenia, a wyrażenia nie wydają się działać.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-View
Określa nazwę alternatywnego formatu tabeli lub widoku. W tym samym poleceniu nie można użyć parametrów właściwości i View.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Wrap
Wyświetla tekst, który przekracza szerokość kolumny w następnym wierszu. Domyślnie tekst przekraczający szerokość kolumny jest obcinany.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Możesz przekazać dowolny obiekt do Format-Table
.
Dane wyjściowe
Microsoft.PowerShell.Commands.Internal.Format
Format-Table
zwraca obiekty formatu reprezentujące tabelę.
Uwagi
Parametr GroupBy zakłada, że obiekty są sortowane. Przed użyciem Format-Table
użyj polecenia cmdlet Sort-Object
, aby zgrupować obiekty.
Parametr View umożliwia określenie alternatywnego formatu tabeli. Możesz użyć widoków zdefiniowanych w plikach *.format.PS1XML
w katalogu programu PowerShell lub utworzyć własne widoki w nowych plikach PS1XML, a następnie użyć polecenia cmdlet Update-FormatData
, aby uwzględnić je w programie PowerShell. Alternatywne widoki dla parametru View muszą używać formatu tabeli. W przeciwnym razie polecenie kończy się niepowodzeniem.
Jeśli widok alternatywny jest listą, użyj polecenia cmdlet Format-List
. Jeśli widok alternatywny nie jest listą ani tabelą, użyj polecenia cmdlet Format-Custom
.