PowerShell tient beaucoup la main d’un développeur, mais il ne peut pas lire dans votre esprit. Il ne peut pas savoir intrinsèquement quel type de sortie vous recherchez. Il fournira sa meilleure estimation via un format par défaut, mais c’est à vous de décider finalement comment vous souhaitez que la sortie soit renvoyée. En utilisant la cmdlet Format-Table de PowerShell, vous pouvez ajuster la sortie selon vos préférences.
PowerShell dispose d’un système de formatage qui propose une sortie par défaut et la possibilité de modifier le formatage de la sortie en fonction du type d’objet. Si vous ne souhaitez pas apprendre XML et comment formater toujours la sortie de manière spécifique, vous disposez également des cmdlets comme Format-Table, Format-List
et Format-Wide
à votre disposition. Un fichier PS1XML sur le système de fichiers ou l’utilisation de l’une des cmdlets de formatage affichera la sortie de différentes manières.
Sans utiliser de formatage spécifique, PowerShell, par défaut, utilise son propre format. Lorsqu’un objet spécifique est renvoyé, vous ne verrez probablement qu’une partie limitée du contenu réel de cet objet. Par exemple, en regardant simplement un seul dossier, vous ne verrez que le répertoire parent et quelques attributs.
Mais, redirigez cette même commande vers Select-Object -Property *
et voyez ce qui se passe.
PowerShell a caché de nombreuses propriétés de l’objet car en général, vous n’avez pas besoin de voir toutes ces informations. PowerShell fournit une vue par défaut, mais cela ne signifie pas que c’est votre seule option. Nous pouvons modifier cette vue via une cmdlet de formatage.
Le cmdlet de formatage le plus populaire est Format-Table
. Selon l’aide de PowerShell:
Le cmdlet Format-Table formate la sortie d’une commande sous forme de tableau avec 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 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 spécifier les en-têtes de colonnes dans le tableau. Pour ajouter une propriété calculée, utilisez le paramètre Property ou GroupBy.
L’utilisation de Format-Table PowerShell et Select-Object
pour sélectionner des propriétés individuelles d’objet semble être la même tant que les valeurs de propriété ne dépassent pas la largeur de la console actuelle. Mais dès que vous essayez d’afficher de nombreux objets, vous verrez que Format-Table
conserve le format tabulaire tandis que Select-Object
revient à afficher les propriétés sur chaque ligne.
La sortie Format-Table de Powershell tentera toujours d’afficher des informations via un format tabulaire. Si les valeurs de propriété sont trop longues pour être affichées, elle remplacera tout texte manquant par des points de suspension pour indiquer que plus d’informations sont disponibles mais ne sont simplement pas affichées.
Le cmdlet Format-Table
a de nombreuses façons différentes de manipuler la sortie. Consultez la documentation complète de Format-Table
via Microsoft docs.
Source:
https://adamtheautomator.com/powershell-format-table/