Format-List
Formatta l'output come 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 cmdlet Format-List
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 le proprietà o selezionate di un oggetto come elenco (Format-List -Property *
).
Poiché è disponibile più spazio per ogni elemento in un elenco rispetto a una tabella, PowerShell visualizza più proprietà dell'oggetto nell'elenco e i valori delle proprietà hanno 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 vengono formattati come tabella. Il cmdlet Get-Service
ottiene oggetti che rappresentano i servizi nel computer. L'operatore pipeline (|
) passa i risultati attraverso la pipeline a Format-List
.
Il comando Format-List
formatta quindi le informazioni sul servizio in un elenco e le 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 variabile $A
.
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 quindi invia 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 cmdlet Get-Process
per ottenere un oggetto che rappresenta ogni processo. L'operatore pipeline (|
) passa gli oggetti del processo attraverso la pipeline a Format-List
.
Format-List
formatta i processi come elenco delle proprietà specificate. Il nome del parametro della proprietà
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 (|
) trasferisce l'oggetto processo Winlogon attraverso la pipeline fino a Format-List
. Il comando usa il parametro Property per specificare le proprietà e il *
per indicare tutte le proprietà.
Poiché il nome del parametro property Format-List
invia automaticamente i risultati al cmdlet di output predefinito per la visualizzazione.
Esempio 5: Risoluzione degli errori di formato
Negli esempi seguenti vengono illustrati 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 gli errori nella riga di comando. Questo parametro viene usato raramente, ma può essere usato come supporto per il debug quando si formattano espressioni in un comando Format-List
e le espressioni non sembrano funzionare.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Expand
Specifica l'oggetto collezione formattato, così come gli oggetti nella collezione. Questo parametro è progettato per formattare oggetti che supportano l'interfaccia System.Collections.ICollection. Il valore predefinito è EnumOnly
. I valori accettabili per questo parametro sono:
-
EnumOnly
. Visualizza le proprietà degli oggetti nell'insieme. -
CoreOnly
. Visualizza le proprietà dell'oggetto raccolta. -
Both
. Visualizza le proprietà dell'oggetto raccolta e le proprietà degli oggetti nell'insieme.
Tipo: | String |
Valori accettati: | CoreOnly, EnumOnly, Both |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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 errore viene scritto nei flussi di errore o di visualizzazione, vengono visualizzate solo alcune informazioni sull'errore.
Obbligatorio anche per la formattazione di determinati tipi .NET. Per ulteriori informazioni, vedere la sezione Note.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-GroupBy
Specifica l'output in gruppi in base a una proprietà o un valore condiviso. Immettere un'espressione o una proprietà dell'output. Il parametro GroupBy si aspetta che gli oggetti siano ordinati. Usare il cmdlet Sort-Object
prima di usare Format-List
per raggruppare gli oggetti.
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>
o<script block>
FormatString
-<string>
Per altre informazioni, vedere about_Calculated_Properties.
Tipo: | Object |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InputObject
Specifica gli oggetti da formattare. Immettere una variabile contenente gli oggetti o digitare un comando o un'espressione che ottiene gli oggetti .
Tipo: | PSObject |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Property
Specifica le proprietà dell'oggetto visualizzate nella visualizzazione e l'ordine in cui vengono visualizzate. Sono consentiti caratteri jolly.
Se si omette questo parametro, le proprietà visualizzate nella visualizzazione dipendono dall'oggetto visualizzato. Il nome del parametro Property è facoltativo. Non è possibile utilizzare i parametri
Il valore del parametro Property
-
Name
(oLabel
) -<string>
-
Expression
-<string>
o<script block>
FormatString
-<string>
Per altre informazioni, vedere about_Calculated_Properties.
Tipo: | Object[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-ShowError
Indica che il cmdlet invia errori tramite la pipeline. Questo parametro viene usato raramente, ma può essere usato come supporto per il debug quando si formattano espressioni in un comando Format-List
e le espressioni non sembrano funzionare.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-View
Specifica il nome di un formato di elenco o una visualizzazione alternativa. Non è possibile utilizzare i parametri
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe 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, come 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 verbo Out
(i cmdlet Out
), 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 View consente di specificare un formato alternativo per la tabella. È possibile usare le visualizzazioni definite nei file di *.format.PS1XML
nella directory di PowerShell oppure creare visualizzazioni personalizzate nei nuovi file PS1XML e usare il cmdlet Update-FormatData
per includerli in PowerShell.
La visualizzazione alternativa per il parametro Visualizzazione Format-Table
. Se la visualizzazione alternativa non è un elenco o una tabella, utilizzare Format-Custom
.
Se si desidera utilizzare Format-List
con il parametro proprietà, è necessario includere il parametro Force in qualsiasi delle seguenti condizioni:
Gli oggetti di input vengono formattati fuori banda usando il metodo
ToString()
. Questo vale per i tipi primitivi[string]
e .NET che sono un superset dei tipi numerici predefiniti, ad esempio[int]
,[long]
e altri.Gli oggetti di input non hanno proprietà pubbliche.
Gli oggetti di input sono istanze dei tipi di wrapper usati da PowerShell per i flussi di output diversi dal flusso di output Success. Questo vale solo quando questi tipi di wrapper vengono inviati al flusso di output Success, che richiede l'acquisizione tramite parametri comuni come ErrorVariable prima o usando un reindirizzamento, ad esempio
*>&1
.I tipi di wrapper includono:
- System.Management.Automation.ErrorRecord
- System.Management.Automation.WarningRecord
- System.Management.Automation.VerboseRecord
- System.Management.Automation.DebugRecord
- System.Management.Automation.InformationRecord