Condividi tramite


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 informatici

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 della 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 , 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 di processo attraverso la pipeline a Format-List. Format-List formatta i processi come elenco delle proprietà specificate. Il nome del parametro della proprietà è facoltativo, quindi puoi 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 pipeline (|) passa l'oggetto processo Winlogon attraverso la pipeline 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 è facoltativo, è possibile ometterlo e digitare il comando come . 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 formattato della raccolta, nonché gli oggetti nella raccolta. Questo parametro è progettato per formattare gli 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 di 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 DisplayError o parametro 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 altre 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 raggruppandolo in base a una proprietà o valore condiviso. Immettere un'espressione o una proprietà dell'output. Il parametro GroupBy prevede 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 (o Label) - <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 Property e View 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 (o Label) - <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 messaggi di errore attraverso 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 di una visualizzazione alternativa. Non è possibile utilizzare i parametri Property e View nello stesso comando.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

PSObject

È 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

Windows PowerShell include gli alias seguenti per Format-List:

  • fl

I cmdlet di formato, come Format-List, organizzano i dati da visualizzare ma non li mostrano. 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 vista alternativa per il parametro Visualizzazione deve usare il formato elenco, altrimenti il comando non riesce. Se la vista alternativa è una tabella, usare Format-Table. Se la visualizzazione alternativa non è un elenco o una tabella, utilizzare Format-Custom.

Se si desidera utilizzare Format-List con il parametro della proprietà , è necessario includere il parametro Force in una 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 allo stream di output Successo, il che richiede di averli acquisiti precedentemente tramite parametri comuni, ad esempio ErrorVariable, o di utilizzare un reindirizzamento, come *>&1.