Format-Table
Met en forme la sortie en tant que tableau.
Syntaxe
Format-Table [[-Property] <Object[]>] [-AutoSize] [-DisplayError] [-Expand <string>] [-Force] [-GroupBy <Object>] [-HideTableHeaders] [-InputObject <psobject>] [-ShowError] [-View <string>] [-Wrap] [<CommonParameters>]
Description
L'applet de commande Format-Table met en forme la sortie d'une commande sous forme de tableau présentant les propriétés sélectionnées de l'objet dans chaque colonne. Le type d'objet détermine la disposition par défaut et les propriétés qui sont affichées dans chaque colonne, mais vous pouvez utiliser le paramètre Property pour sélectionner les propriétés que vous souhaitez voir.
Vous pouvez également utiliser une table de hachage pour ajouter des propriétés calculées à un objet avant de l'afficher et pour spécifier les en-têtes de colonne de la table. Pour ajouter une propriété calculée, utilisez les paramètres Property ou GroupBy.
Paramètres
-AutoSize
Ajuste la taille de colonne et le nombre de colonnes en fonction de la largeur des données. Par défaut, la taille et le nombre des colonnes sont déterminés par l'affichage.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-DisplayError
Affiche les erreurs à la ligne de commande.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Expand <string>
Met en forme l'objet de collection, ainsi que les objets dans la collection. Ce paramètre est conçu pour mettre en forme des objets qui prennent en charge l'interface ICollection (System.Collections). La valeur par défaut est EnumOnly.
Les valeurs valides sont :
-- EnumOnly : affiche les propriétés des objets dans la collection.
-- CoreOnly : affiche les propriétés de l'objet collection.
-- Both : affiche les propriétés de l'objet collection et les propriétés des objets de la collection.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Force
Demande à l'applet de commande d'afficher toutes les informations relatives à l'erreur. Utilisez ce paramètre avec les paramètres DisplayError ou ShowError. Par défaut, quand un objet erreur est écrit dans les flux d'erreurs ou d'affichages, seule une partie des informations relatives à l'erreur s'affiche.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-GroupBy <Object>
Organise la sortie triée dans des tables séparées en fonction de la valeur d'une propriété. Par exemple, vous pouvez utiliser GroupBy pour classer des services dans des tables séparées en fonction de leur état.
Entrez une expression ou une propriété de la sortie. La sortie doit être triée pour que vous puissiez l'envoyer à Format-Table.
La valeur du paramètre GroupBy peut être une nouvelle propriété calculée. Pour créer une propriété calculée, utilisez une table de hachage. Les clés valides sont :
-- Name (ou Label) <chaîne>
-- Expression <chaîne> ou <bloc de script>
-- FormatString <chaîne>
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-HideTableHeaders
Omet les en-têtes de colonne de la table.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-InputObject <psobject>
Spécifie les objets à mettre en forme. Entrez une variable contenant les objets, ou tapez une commande ou une expression permettant d'obtenir ces objets.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
true (ByValue) |
Accepter les caractères génériques ? |
false |
-Property <Object[]>
Spécifie les propriétés d'objet qui apparaissent dans l'affichage et l'ordre dans lesquels elles apparaissent. Tapez un ou plusieurs noms de propriétés (séparés par des virgules) ou utilisez une table de hachage pour afficher une propriété calculée. Les caractères génériques sont autorisés.
Sans ce paramètre, les propriétés qui apparaissent dans l'affichage dépendent de l'objet qui est affiché. Le nom de paramètre (« Property ») est facultatif. Vous ne pouvez pas utiliser les paramètres Property et View dans la même commande.
La valeur du paramètre Property peut être une nouvelle propriété calculée. Pour créer une propriété calculée, utilisez une table de hachage. Les clés valides sont :
-- Name (ou Label) <chaîne>
-- Expression <chaîne> ou <bloc de script>
-- FormatString <chaîne>
-- Width <int32>
-- Alignment (la valeur peut être « Left », « Center » ou « Right »)
Obligatoire ? |
false |
Position ? |
1 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-ShowError
Envoie des erreurs le long du pipeline.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-View <string>
Spécifie le nom d'un autre format de table ou « vue ». Vous ne pouvez pas utiliser les paramètres Property et View dans la même commande.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Wrap
Affiche le texte qui dépasse la largeur de colonne sur la ligne suivante. Par défaut, le texte qui dépasse la largeur de colonne est tronqué.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.
Entrées et sorties
Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.
Entrées |
System.Management.Automation.PSObject Vous pouvez diriger n'importe quel objet vers Format-Table. |
Sorties |
Microsoft.PowerShell.Commands.Internal.Format Format-Table retourne les objets de mise en forme qui représentent la table. |
Remarques
Vous pouvez également faire référence à Format-Table par son alias intégré, « FT ». Pour plus d'informations, consultez about_Aliases.
Le paramètre GroupBy suppose que les objets sont triés. Avant d'utiliser Format-Custom pour grouper les objets, utilisez Sort-Object pour les trier.
Le paramètre View permet de spécifier un autre format pour le tableau. Vous pouvez utiliser les affichages définis dans les fichiers *.format.PS1XML du répertoire Windows PowerShell ou vous pouvez créer vos propres affichages dans de nouveaux fichiers PS1XML et utiliser l'applet de commande Update-FormatData pour les inclure dans Windows PowerShell.
L'autre affichage pour le paramètre View doit utiliser le format tableau ; autrement, la commande échoue. Si l'autre affichage est une liste, utilisez Format-List. Si l'autre affichage n'est ni une liste ni une tableau, utilisez Format-Custom.
Exemple 1
C:\PS>get-pssnapin | format-table -auto
Description
-----------
Cette commande met au format table les informations sur les composants logiciels enfichables Windows PowerShell. Par défaut, elles ont le format liste. Les applets de commande Get-PSSnapin obtiennent les objets qui représentent les composants logiciels enfichables. L'opérateur de pipeline (|) passe l'objet à la commande Format-Table. Format-Table met en forme les objets dans un tableau. Le paramètre Autosize ajuste les largeurs de colonne pour réduire les troncatures.
Exemple 2
C:\PS>get-process | sort-object -property basepriority | format-table -groupby basepriority -wrap
Description
-----------
Cette commande affiche les processus de l'ordinateur dans des groupes ayant la même priorité de base.
L'applet de commande Get-Process obtient les objets qui représentent chaque processus sur l'ordinateur. L'opérateur de pipeline (|) passe l'objet à l'applet de commande Sort-Object, qui trie les objets dans l'ordre de leur priorité de base.
Un autre opérateur de pipeline passe les résultats à la commande Format-Table. Le paramètre GroupBy réorganise les données sur les processus dans des groupes, selon la valeur de leur propriété BasePriority. Le paramètre Wrap garantit que les données ne sont pas tronquées.
Exemple 3
C:\PS>get-process | sort-object starttime | format-table -view starttime
Description
-----------
Cette commande affiche les informations sur les processus de l'ordinateur en groupe selon la date de début du processus. Elle utilise l'applet de commande Get-Process pour obtenir des objets qui représentent les processus sur l'ordinateur. L'opérateur de pipeline (|) envoie la sortie de Get-Process à l'applet de commande Sort-Object, qui la trie en fonction de la propriété StartTime. Un autre opérateur de pipeline envoie les résultats triés à Format-Table.
Le paramètre View est utilisé pour sélectionner l'affichage StartTime qui est défini dans le fichier de mise en forme DotNetTypes.format.ps1xml pour les objets System.Diagnostics.Process, notamment ceux retournés par Get-Process. Cet affichage convertit l'heure de début (StartTime) du processus en une date courte, puis regroupe les processus par date de début.
Le fichier de mise en forme DotNetTypes.format.ps1xml contient également un affichage Priorité (Priority) pour les processus, et vous pouvez créer vos propres fichiers format.ps1xml avec des affichages personnalisés.
Exemple 4
C:\PS>get-service | format-table -property Name, DependentServices
Description
-----------
Cette commande affiche tous les services de l'ordinateur dans un tableau comportant deux colonnes, Name et DependentServices. La commande utilise l'applet de commande Get-Service pour obtenir l'ensemble des services sur l'ordinateur. L'opérateur de pipeline (|) envoie les résultats à l'applet de commande Format-Table, qui met la sortie en forme dans un tableau. Le paramètre Property spécifie les propriétés qui apparaissent en tant que colonnes dans la table. Le nom du paramètre Property étant facultatif, vous pouvez l'omettre (« format-table name, DependentServices »).
Property et DependentServices sont deux des propriétés des objets de service. Pour afficher toutes les propriétés, tapez « get-service | get-member ».
Exemple 5
C:\PS>get-process notepad | format-table ProcessName, `
@{Label="TotalRunningTime"; Expression={(get-date) - $_.StartTime}}
Description
-----------
Cette commande indique comment utiliser une propriété calculée dans une table. La commande affiche une table avec le nom du processus et le temps d'exécution total de tous les processus Bloc-notes sur l'ordinateur local. Le temps d'exécution total est calculé en soustrayant l'heure de début de chaque processus de l'heure courante.
La commande utilise l'applet de commande Get-Process pour obtenir tous les processus nommés « Bloc-notes » (Notepad) sur l'ordinateur local. L'opérateur de pipeline (|) envoie les résultats à Format-Table, qui affiche un tableau comportant deux colonnes : ProcessName, une propriété standard des processus, et TotalRunningTime, une propriété calculée.
La propriété TotalRunningTime est spécifiée par une table de hachage avec deux clés, Label et Expression. Le nom de la propriété est assigné à la clé Label. Le calcul est assigné à la clé Expression. L'expression obtient la propriété StartTime de chaque objet processus et la soustrait du résultat d'une commande Get-Date qui obtient la date actuelle (et l'heure).
Exemple 6
C:\PS>$processes = get-wmiobject -ComputerName Server01 win32_process -filter "name='notepad.exe'"
C:\PS> $processes | format-table ProcessName, @{ Label = "Total Running Time"; `
Expression={(get-date) - $_.ConvertToDateTime($_.CreationDate)}}
Description
-----------
Ces commandes sont semblables à la commande précédente, à ceci près qu'elles utilisent l'applet de commande Get-WmiObject et la classe Win32_Process pour afficher des informations sur les processus Bloc-notes s'exécutant sur un ordinateur distant.
La première commande utilise l'applet de commande Get-WmiObject pour obtenir les instances de la classe Windows Management Instrumentation (WMI) Win32_Process, qui décrit tous les processus présents sur l'ordinateur Server01 intitulés Notepad.exe. La commande stocke les informations des processus dans la variable $processes.
La deuxième commande utilise un opérateur de pipeline (|) pour envoyer les informations de processus contenues dans la variable $processes à l'applet de commande Format-Table, qui affiche le nom de processus (ProcessName) de chaque processus avec une nouvelle propriété calculée.
La commande assigne le nom de la nouvelle propriété calculée, Total Running Time, à la clé Label. Le bloc de script qui est assigné à la clé Expression calcule la durée d'exécution du processus en soustrayant la date de création du processus de la date courante. L'applet de commande Get-Date obtient la date actuelle. La méthode ConvertToDateTime convertit la propriété CreationDate de l'objet Win32_Process d'un objet CIM_DATETIME WMI en un objet DateTime Microsoft .NET Framework qui peut être comparé à la sortie Get-Date. Puis, la date de création convertie est soustraite de la date courante. Le résultat est la valeur de Total Running Time.
Les caractères de backtick (`) sont des caractères de continuation de ligne.