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
Il valore del parametro Property
- 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
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.