Format-List
Formatta l'output come un elenco di proprietà in cui ogni proprietà viene visualizzata in una nuova riga.
Sintassi
Format-List
[[-Property] <Object[]>]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Descrizione
Il Format-List
cmdlet formatta l'output di un comando come elenco di proprietà in cui ogni proprietà viene visualizzata in una riga separata. È possibile usare Format-List
per formattare e visualizzare tutte o le proprietà selezionate di un oggetto come elenco (Format-List -Property *
).
Poiché più spazio è disponibile per ogni elemento di un elenco rispetto a una tabella, PowerShell visualizza più proprietà dell'oggetto nell'elenco e i valori delle proprietà sono meno probabilità di essere troncati.
Esempio
Esempio 1: Formattare i servizi computer
Get-Service | Format-List
Questo comando formatta le informazioni sui servizi nel computer come elenco. Per impostazione predefinita, i servizi sono formattati come tabella. Il Get-Service
cmdlet ottiene oggetti che rappresentano i servizi nel computer. L'operatore della pipeline (|
) passa i risultati tramite la pipeline a Format-List
.
Quindi, il Format-List
comando formatta le informazioni del servizio in un elenco e lo invia al cmdlet di output predefinito per la visualizzazione.
Esempio 2: Formattare i file PS1XML
Questi comandi visualizzano informazioni sui file PS1XML nella directory di PowerShell come elenco.
$A = Get-ChildItem $pshome\*.ps1xml
Format-List -InputObject $A
Il primo comando ottiene gli oggetti che rappresentano i file e li archivia nella $A
variabile.
Il secondo comando usa Format-List
per formattare le informazioni sugli oggetti archiviati in $A
. Questo comando usa il parametro InputObject per passare la variabile a Format-List
, che invia quindi l'output formattato al cmdlet di output predefinito per la visualizzazione.
Esempio 3: Formattare le proprietà del processo in base al nome
Questo comando visualizza il nome, la priorità di base e la classe di priorità di ogni processo nel computer.
Get-Process | Format-List -Property Name, BasePriority, PriorityClass
Usa il Get-Process
cmdlet per ottenere un oggetto che rappresenta ogni processo. L'operatore della pipeline (|
) passa gli oggetti di processo tramite la pipeline a Format-List
. Format-List
formatta i processi come elenco delle proprietà specificate. Il nome del parametro Property è facoltativo, quindi è possibile ometterlo.
Esempio 4: Formattare tutte le proprietà per un processo
Questo comando visualizza tutte le proprietà del processo Winlogon.
Get-Process winlogon | Format-List -Property *
Usa il cmdlet Get-Process per ottenere un oggetto che rappresenta il processo Winlogon. L'operatore della pipeline (|
) passa l'oggetto processo Winlogon tramite la pipeline a Format-List
. Il comando usa il parametro Property per specificare le proprietà e l'oggetto *
per indicare tutte le proprietà.
Poiché il nome del parametro Property è facoltativo, è possibile ometterlo e digitare il comando come Format-List *
. Format-List
invia automaticamente i risultati al cmdlet di output predefinito per la visualizzazione.
Esempio 5: Risoluzione degli errori di formato
Gli esempi seguenti mostrano i risultati dell'aggiunta dei parametri DisplayError o ShowError con un'espressione.
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
Parametri
-DisplayError
Indica che questo cmdlet visualizza errori nella riga di comando. Questo parametro viene usato raramente, ma può essere usato come aiuto di debug quando si formattano espressioni in un Format-List
comando e le espressioni non sembrano funzionare.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expand
Specifica l'oggetto raccolta formattato, nonché gli oggetti nell'insieme. Questo parametro è progettato per formattare oggetti che supportano l'interfaccia System.Collections.ICollection . Il valore predefinito è EnumOnly
. I valori validi per questo parametro sono:
EnumOnly
. Visualizza le proprietà degli oggetti nella raccolta.CoreOnly
. Visualizza le proprietà dell'oggetto raccolta.Both
. Visualizza le proprietà dell'oggetto raccolta e le proprietà degli oggetti nella raccolta.
Type: | String |
Accepted values: | CoreOnly, EnumOnly, Both |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Indica che questo cmdlet visualizza tutte le informazioni sull'errore. Usare con il parametro DisplayError o ShowError . Per impostazione predefinita, quando un oggetto di errore viene scritto nel flusso di errore o visualizzato, vengono visualizzate solo alcune informazioni sugli errori.
È anche necessario quando si formattano determinati tipi .NET. Per altre informazioni, vedere la sezione Note .
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GroupBy
Specifica l'output nei gruppi in base a una proprietà o un valore condiviso. Immettere un'espressione o una proprietà dell'output.
Il valore del parametro GroupBy può essere una nuova proprietà calcolata. La proprietà calcolata può essere un blocco di script o una tabella hash. Le coppie chiave-valore valide sono:
Name
(oLabel
) -<string>
Expression
-<string>
oppure<script block>
FormatString
-<string>
Per altre informazioni, vedere about_Calculated_Properties.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifica gli oggetti da formattare. Immettere una variabile che contiene gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Property
Specifica le proprietà dell'oggetto che vengono presentate nella visualizzazione e l'ordine in cui appaiono. I caratteri jolly sono consentiti.
Se si omette questo parametro, le proprietà presentate nella visualizzazione dipendono dall'oggetto visualizzato. Il nome del parametro Proprietà è facoltativo. Non è possibile usare i parametri Proprietà e Visualizzazione nello stesso comando.
Il valore del parametro Property può essere una nuova proprietà calcolata. La proprietà calcolata può essere un blocco di script o una tabella hash. Le coppie chiave-valore valide sono:
Name
(oLabel
) -<string>
Expression
-<string>
oppure<script block>
FormatString
-<string>
Per altre informazioni, vedere about_Calculated_Properties.
Type: | Object[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-ShowError
Indica che il cmdlet invia errori tramite la pipeline. Questo parametro viene usato raramente, ma può essere usato come aiuto di debug quando si formattano espressioni in un Format-List
comando e le espressioni non sembrano funzionare.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-View
Specifica il nome di un formato o di una visualizzazione elenco alternativo. Non è possibile utilizzare i parametri Property e View nello stesso comando.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
È possibile eseguire la pipe di qualsiasi oggetto a questo cmdlet.
Output
Microsoft.PowerShell.Commands.Internal.Format
Questo cmdlet restituisce gli oggetti di formato che rappresentano l'elenco.
Note
PowerShell include gli alias seguenti per Format-List
:
- Tutte le piattaforme:
fl
I cmdlet di formato, ad esempio Format-List
, dispongono i dati da visualizzare ma non lo visualizzano.
I dati vengono visualizzati dalle funzionalità di output di PowerShell e dai cmdlet che contengono il Out
verbo (i Out
cmdlet), ad esempio Out-Host
o Out-File
.
Se non si usa un cmdlet di formato, PowerShell applica il formato predefinito per ogni oggetto visualizzato.
Il parametro GroupBy presuppone che gli oggetti siano ordinati. Usare Sort-Object
prima di usare Format-List
per raggruppare gli oggetti.
Il parametro View consente di specificare un formato alternativo per la tabella. È possibile usare le visualizzazioni definite nei file nella directory di PowerShell oppure creare visualizzazioni personalizzate nei *.format.PS1XML
nuovi file PS1XML e usare il Update-FormatData
cmdlet per includerli in PowerShell.
La visualizzazione alternativa per il parametro View deve usare il formato elenco, in caso contrario, il comando ha esito negativo. Se la visualizzazione alternativa è una tabella, usare Format-Table
. Se la visualizzazione alternativa non è un elenco o una tabella, usare Format-Custom
.
Se si vuole usare Format-List
con il parametro Property , è necessario includere il parametro Force in una delle condizioni seguenti:
Gli oggetti di input vengono formattati fuori banda usando il
ToString()
metodo . Questo vale per[string]
e i tipi primitivi .NET che sono un superset dei tipi numerici predefiniti,[int]
ad esempio ,[long]
e altri.Gli oggetti di input non hanno proprietà pubbliche.
Gli oggetti di input sono istanze dei tipi wrapper di PowerShell usati per i flussi di output diversi dal flusso di output Success. Ciò si applica solo quando questi tipi di wrapper vengono inviati al flusso di output Success, che richiede l'acquisizione di tali tipi tramite parametri comuni, ad esempio ErrorVariable per primo o usando un reindirizzamento, ad esempio
*>&1
.