Format-List
Formatuje dane wyjściowe jako listę właściwości, w których każda właściwość jest wyświetlana w nowym wierszu.
Składnia
Format-List
[[-Property] <Object[]>]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Opis
Polecenie cmdlet Format-List
formatuje dane wyjściowe polecenia jako listę właściwości, w których każda właściwość jest wyświetlana w osobnym wierszu. Można użyć Format-List
do formatowania i wyświetlania wszystkich lub wybranych właściwości obiektu jako listy (Format-List -Property *
).
Ponieważ dla każdego elementu na liście jest dostępnych więcej miejsca niż w tabeli, program PowerShell wyświetla więcej właściwości obiektu na liście, a wartości właściwości są mniej prawdopodobne, aby zostać obcięte.
Przykłady
Przykład 1. Formatowanie usług komputerowych
Get-Service | Format-List
To polecenie formatuje informacje o usługach na komputerze jako liście. Domyślnie usługi są formatowane jako tabela. Polecenie cmdlet Get-Service
pobiera obiekty reprezentujące usługi na komputerze. Operator rurociągu (|
) przekazuje wyniki rurociągiem do Format-List
.
Następnie polecenie Format-List
formatuje dane usługi na liście i wysyła je do domyślnego cmdletu wyjściowego do wyświetlenia.
Przykład 2. Formatowanie plików PS1XML
Te polecenia wyświetlają informacje o plikach PS1XML w katalogu programu PowerShell jako listę.
$A = Get-ChildItem $pshome\*.ps1xml
Format-List -InputObject $A
Pierwsze polecenie pobiera obiekty reprezentujące pliki i przechowuje je w zmiennej $A
.
Drugie polecenie używa Format-List
do formatowania informacji o obiektach przechowywanych w $A
. To polecenie używa parametru InputObject, aby przekazać zmienną do Format-List
, która następnie wysyła sformatowane dane wyjściowe do domyślnego polecenia cmdlet wyjściowego do wyświetlenia.
Przykład 3. Formatowanie właściwości procesu według nazwy
To polecenie wyświetla nazwę, priorytet podstawowy i klasę priorytetu każdego procesu na komputerze.
Get-Process | Format-List -Property Name, BasePriority, PriorityClass
Używa on polecenia cmdlet Get-Process
, aby uzyskać obiekt reprezentujący każdy proces. Operator potoku (|
) przekazuje obiekty procesowe przez potok do Format-List
.
Format-List
formatuje procesy jako listę określonych właściwości. Nazwa parametru właściwości jest opcjonalna, więc można ją pominąć.
Przykład 4. Formatowanie wszystkich właściwości procesu
To polecenie wyświetla wszystkie właściwości procesu Winlogon.
Get-Process winlogon | Format-List -Property *
Używa on polecenia cmdlet Get-Process do pobrania obiektu reprezentującego proces Winlogon. Operator potoku (|
) przekazuje obiekt procesu Winlogon przez potok do Format-List
. Polecenie używa parametru Property do określenia właściwości oraz *
do wskazania wszystkich właściwości.
Ponieważ nazwa parametru Property jest opcjonalna, można pominąć go i wpisać polecenie jako Format-List *
.
Format-List
automatycznie wysyła wyniki do domyślnego cmdlet danych wyjściowych w celu wyświetlenia.
Przykład 5. 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-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
Parametry
-DisplayError
Wskazuje, że to polecenie cmdlet wyświetla błędy w wierszu polecenia. Ten parametr jest rzadko wykorzystywany, ale może być używany do celów debugowania podczas formatowania wyrażeń w poleceniu Format-List
, jeżeli 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 sformatowany obiekt kolekcji, a także obiekty w kolekcji. Ten parametr jest przeznaczony do formatowania obiektów obsługujących interfejs System.Collections.ICollection. 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. -
Both
. 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 to polecenie cmdlet wyświetla wszystkie informacje o błędzie. Użyj parametru DisplayError lub ShowError. Domyślnie, gdy obiekt błędu jest zapisywany w strumieniach błędu lub wyświetlania, wyświetlane są tylko niektóre informacje o błędzie.
Wymagane również podczas formatowania niektórych typów platformy .NET. Aby uzyskać więcej informacji, zobacz sekcję Notes.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-GroupBy
Określa dane wyjściowe w grupach na podstawie wspólnej właściwości lub wartości. Wprowadź wyrażenie lub właściwość danych wyjściowych. Parametr GroupBy oczekuje sortowania obiektów. Przed użyciem Format-List
użyj polecenia cmdlet Sort-Object
, aby zgrupować obiekty.
Wartość parametru GroupBy może być nową właściwością obliczeniową. Właściwość obliczeniowa może być blokiem skryptu lub tabelą skrótów. Prawidłowe pary klucz i wartość to:
-
Name
(lubLabel
) —<string>
-
Expression
-<string>
lub<script block>
FormatString
-<string>
Aby uzyskać więcej informacji, przeczytaj about_Calculated_Properties.
Typ: | Object |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Określa obiekty, które mają być sformatowane. 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. Dozwolone są symbole wieloznaczne.
Jeśli pominiesz ten parametr, właściwości wyświetlane na ekranie zależą od wyświetlanego obiektu. Nazwa parametru właściwość jest opcjonalna. Nie można użyć parametru właściwości i parametru widoku w tym samym poleceniu.
Wartość parametru Property może być nową właściwością obliczeniową. Właściwość obliczeniowa może być blokiem skryptu lub tabelą skrótów. Prawidłowe pary klucz-wartość to:
-
Name
(lubLabel
) —<string>
-
Expression
-<string>
lub<script block>
FormatString
-<string>
Aby uzyskać więcej informacji, zobacz sekcję about_Calculated_Properties.
Typ: | Object[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-ShowError
Wskazuje, że cmdlet wysyła błędy za pośrednictwem potoku. Ten parametr jest rzadko używany, ale może być używany do debugowania podczas formatowania wyrażeń w poleceniu Format-List
, jeśli wyrażenia nie działają prawidłowo.
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 listy 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 |
Dane wejściowe
Do tego polecenia cmdlet można przekazać dowolny obiekt.
Dane wyjściowe
Microsoft.PowerShell.Commands.Internal.Format
To polecenie cmdlet zwraca obiekty formatu reprezentujące listę.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla Format-List
:
fl
Polecenia cmdlet formatu, takie jak Format-List
, rozmieszczają dane do wyświetlenia, ale ich nie wyświetlają.
Dane są wyświetlane przez funkcje wyjściowe programu PowerShell oraz polecenia cmdlet, które zawierają czasownik Out
(czyli polecenia cmdlet Out
), takie jak Out-Host
lub Out-File
.
Jeśli nie używasz polecenia cmdlet formatującego, program PowerShell stosuje ten domyślny format dla każdego wyświetlanego obiektu.
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 i użyć polecenia cmdlet Update-FormatData
, aby uwzględnić je w programie PowerShell.
Alternatywny widok dla parametru View musi używać formatu listy. W przeciwnym razie polecenie kończy się niepowodzeniem. Jeśli alternatywny widok jest tabelą, użyj Format-Table
. Jeśli widok alternatywny nie jest listą lub tabelą, użyj Format-Custom
.
Jeśli chcesz użyć
Obiekty wejściowe są formatowane poza pasmem przy użyciu metody
ToString()
. Dotyczy to typów pierwotnych[string]
i .NET, które są nadzbiorem wbudowanych typów liczbowych, takich jak[int]
,[long]
i inne.Obiekty wejściowe nie mają właściwości publicznych.
Obiekty wejściowe są wystąpieniami typów opakowań używanych przez PowerShell dla strumieni wyjściowych innych niż strumień wyjściowy "Powodzenie". Ma to zastosowanie tylko wtedy, gdy te typy wrapperów są wysyłane do strumienia wyjściowego Sukces, które wymagają przechwycenia ich za pomocą typowych parametrów, takich jak ErrorVariable lub przy użyciu przekierowania, takiego jak
*>&1
.