Condividi tramite


Format-Table

Formatta l'output come tabella.

Sintassi

Default (Impostazione predefinita)

Format-Table
    [[-Property] <Object[]>]
    [-AutoSize]
    [-HideTableHeaders]
    [-Wrap]
    [-GroupBy <Object>]
    [-View <string>]
    [-ShowError]
    [-DisplayError]
    [-Force]
    [-Expand <string>]
    [-InputObject <psobject>]
    [<CommonParameters>]

Descrizione

Il Format-Table cmdlet formatta l'output di un comando come tabella con le proprietà selezionate dell'oggetto in ogni colonna. Il tipo di oggetto determina il layout e le proprietà predefinite visualizzate in ogni colonna, ma è possibile utilizzare il parametro Property per selezionare le proprietà che si desidera visualizzare.

È inoltre possibile utilizzare una tabella hash per aggiungere proprietà calcolate a un oggetto prima di visualizzarlo e per specificare le intestazioni di colonna nella tabella. Per aggiungere una proprietà calcolata, utilizzare il parametro Property o GroupBy .

Esempio

Esempio 1: Formattare l'host di PowerShell

Questo comando consente di visualizzare informazioni sul programma host per PowerShell in una tabella. Per impostazione predefinita, sono formattati in un elenco.

Get-Host | Format-Table -AutoSize

Il Get-Host cmdlet ottiene gli oggetti che rappresentano l'host. L'operatore pipeline (|) passa l'oggetto al Format-Table cmdlet. Il Format-Table cmdlet formatta gli oggetti in una tabella. Il parametro AutoSize regola le larghezze delle colonne per ridurre al minimo il troncamento.

Esempio 2: Formattare i processi in base a BasePriority

Questo comando visualizza i processi sul computer in gruppi con la stessa priorità di base.

Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap

Il cmdlet Get-Process ottiene gli oggetti che rappresentano ogni processo nel computer. L'operatore pipeline (|) passa l'oggetto al cmdlet Sort-Object, che ordina gli oggetti in base alla priorità di base.

Un altro operatore della pipeline passa i risultati al Format-Table cmdlet. Il parametro GroupBy organizza i dati relativi ai processi in gruppi in base al valore della relativa proprietà BasePriority. Il parametro Wrap garantisce che i dati non vengano troncati.

Esempio 3: Formattare i processi in base alla data di inizio

Get-Process | Sort-Object starttime | Format-Table -View starttime

Questo comando consente di visualizzare le informazioni sui processi presenti nel computer in gruppi in base alla data di inizio del processo. Utilizza il cmdlet Get-Process per ottenere oggetti che rappresentano i processi nel computer. L'operatore pipeline (|) invia l'output di Get-Process al Sort-Object cmdlet, che lo ordina in base alla proprietà StartTime. Un altro operatore pipeline invia i risultati ordinati a Format-Table.

Il parametro View viene utilizzato per selezionare la visualizzazione StartTime definita nel file per gli DotNetTypes.format.ps1xml oggetti System.Diagnostics.Process , ad esempio quelli restituiti da Get-Process. Questa visualizzazione converte l'ora di inizio del processo in una data breve e quindi raggruppa i processi in base alla data di inizio.

Il DotNetTypes.format.ps1xml file contiene anche una visualizzazione Priorità per i processi. È possibile creare file format.ps1xml personalizzati con visualizzazioni personalizzate.

Esempio 4: Formattare i servizi

Get-Service | Format-Table -Property Name, DependentServices

Questo comando consente di visualizzare tutti i servizi del computer in una tabella con due colonne, Name e DependentServices. Il Get-Service cmdlet ottiene tutti i servizi nel computer. L'operatore pipeline (|) invia i risultati al Format-Table cmdlet, che formatta l'output in una tabella. Il parametro Property consente di specificare le proprietà visualizzate nella tabella come colonne. Il nome del parametro Property è facoltativo, pertanto è possibile ometterlo, ad esempio Format-Table Name, DependentServices.

Name e DependentServices sono solo due delle proprietà degli oggetti servizio. Per visualizzare tutte le proprietà, digitare Get-Service | Get-Member -MemberType Properties.

Esempio 5: Formattare un processo e calcolarne il tempo di esecuzione

Questo comando illustra come utilizzare una proprietà calcolata in una tabella.

Get-Process Notepad | Format-Table ProcessName,
   @{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}

Il comando visualizza una tabella con il nome del processo e il tempo di esecuzione totale di tutti i processi del Blocco note nel computer locale. Il tempo di esecuzione totale viene calcolato sottraendo l'ora di inizio di ciascun processo dall'ora corrente.

Il comando usa il Get-Process cmdlet per ottenere tutti i processi denominati Blocco note nel computer locale. L'operatore pipeline (|) invia i risultati a Format-Table, che visualizza una tabella con due colonne: ProcessName, una proprietà standard dei processi, e TotalRunningTime, una proprietà calcolata.

La proprietà TotalRunningTime viene specificata da una tabella hash con due chiavi, Label ed Expression. Il nome della proprietà viene assegnato alla chiave Label . Il calcolo viene assegnato al tasto Espressione . L'espressione ottiene la proprietà StartTime di ogni oggetto processo e la sottrae dal risultato di un Get-Date comando, che ottiene la data e l'ora correnti.

Esempio 6: Formattare i processi di Blocco note

Questi comandi sono simili al comando precedente, ad eccezione del fatto che questi comandi utilizzano il Get-WmiObject cmdlet.

$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)}}

Il primo comando utilizza il Get-WmiObject cmdlet per ottenere istanze della classe WMI Win32_Process che descrive tutti i processi nel computer Server01 denominati Notepad.exe. Il comando memorizza le informazioni sul $Processes processo nella variabile.

Il secondo comando usa un operatore pipeline (|) per inviare le informazioni sul $Processes processo nella variabile al Format-Table cmdlet, che visualizza ProcessName e una nuova proprietà calcolata.

Il comando assegna il nome della nuova proprietà calcolata, "Total Running Time", al tasto Label . Il blocco di script assegnato al tasto Espressione calcola per quanto tempo il processo è stato in esecuzione sottraendo la data di creazione del processo dalla data corrente. Il Get-Date cmdlet ottiene la data corrente. Il metodo ConvertToDateTime converte la proprietà CreationDate dell'oggetto Win32_Process da un oggetto CIM_DATETIME WMI a un oggetto .NET DateTime che può essere confrontato con l'output di Get-Date. Quindi, la data di creazione convertita viene sottratta dalla data corrente. Il risultato è il valore del tempo di esecuzione totale.

Esempio 7: Risoluzione dei problemi relativi agli errori di formato

Negli esempi seguenti vengono illustrati i risultati dell'aggiunta dei parametri DisplayError o ShowError con un'espressione.

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

Parametri

-AutoSize

Indica che il cmdlet regola le dimensioni e il numero di colonne in base alla larghezza dei dati. Per impostazione predefinita, le dimensioni e il numero della colonna sono determinati dalla visualizzazione.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-DisplayError

Indica che il cmdlet visualizza 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-Table e le espressioni non sembrano funzionare.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Expand

Specifica il formato dell'oggetto dell'insieme e gli oggetti dell'insieme. Questo parametro è progettato per formattare gli oggetti che supportano l'interfaccia ICollection (System.Collections). 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.
  • Entrambi: visualizza le proprietà dell'oggetto dell'insieme e le proprietà degli oggetti nell'insieme.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Valori accettati:CoreOnly, EnumOnly, Both
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Force

Indica che il cmdlet indirizza il cmdlet a visualizzare tutte le informazioni sull'errore. Usare con il parametro DisplayError o ShowError. Per impostazione predefinita, quando un oggetto di errore viene scritto nei flussi di errore o di visualizzazione, vengono visualizzate solo alcune informazioni sull'errore.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-GroupBy

Specifica l'output ordinato in tabelle separate in base al valore di una proprietà. Ad esempio, è possibile utilizzare GroupBy per elencare i servizi in tabelle separate in base al relativo stato.

Immettere un'espressione o una proprietà dell'output. L'output deve essere ordinato prima di essere inviato a Format-Table.

Il valore del parametro GroupBy può essere una nuova proprietà calcolata. Per creare una proprietà calcolata, utilizzare una tabella hash. Le chiavi valide sono:

  • Stringa nome (o etichetta) <>
  • Stringa di< espressione >o <blocco di script>
  • Stringa FormatString <>

Proprietà dei parametri

Tipo:Object
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-HideTableHeaders

Omette le intestazioni di colonna dalla tabella.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-InputObject

Specifica gli oggetti da formattare. Immettere una variabile contenente gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti .

Proprietà dei parametri

Tipo:PSObject
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Property

Specifica le proprietà dell'oggetto visualizzate nella visualizzazione e l'ordine in cui vengono visualizzate. Digitare uno o più nomi di proprietà (separati da virgole) oppure utilizzare una tabella hash per visualizzare una proprietà calcolata. Sono consentiti i metacaratteri.

Se si omette questo parametro, le proprietà visualizzate nella visualizzazione dipendono dalle proprietà del primo oggetto. Ad esempio, se il primo oggetto dispone di ProprietàA e Proprietà B , ma gli oggetti successivi dispongono di ProprietàA, ProprietàB e Proprietà C verranno visualizzate solo le intestazioni ProprietàA e Proprietà B .

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. Per creare una proprietà calcolata, utilizzare una tabella hash. Le chiavi valide sono:

  • Stringa nome (o etichetta) <>
  • Stringa di< espressione >o <blocco di script>
  • Stringa FormatString <>
  • Larghezza <int32>
  • Allineamento (il valore può essere "Sinistra", "Centro" o "Destra")

Proprietà dei parametri

Tipo:

Object[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:0
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ShowError

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-Table e le espressioni non sembrano funzionare.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-View

Specifica il nome di un formato o vista di tabella alternativo. Non è possibile utilizzare i parametri Property e View nello stesso comando.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Wrap

Visualizza il testo che supera la larghezza della colonna nella riga successiva. Per impostazione predefinita, il testo che supera la larghezza della colonna viene troncato.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

PSObject

È possibile reindirizzare qualsiasi oggetto a Format-Table.

Output

Microsoft.PowerShell.Commands.Internal.Format

Format-Table Restituisce gli oggetti format che rappresentano la tabella.

Note

Il parametro GroupBy presuppone che gli oggetti siano ordinati. Usare il cmdlet Sort-Object prima di usare Format-Table per raggruppare gli oggetti.

Il parametro View consente di specificare un formato alternativo per la tabella. È possibile utilizzare le visualizzazioni definite nei *.format.PS1XML file nella directory di PowerShell oppure creare visualizzazioni personalizzate in nuovi file PS1XML e quindi utilizzare il Update-FormatData cmdlet per includerle in PowerShell. Le viste alternative per il parametro View devono utilizzare il formato della tabella, altrimenti il comando non riesce. Se la visualizzazione alternativa è un elenco, usare il Format-List cmdlet. Se la visualizzazione alternativa non è né un elenco né una tabella, usare il Format-Custom cmdlet.