Les formats de fichiers utilisés par PowerShell
Sommaire
I. Présentation
Lors de l'utilisation de PowerShell, vous serez amenés à manipuler des fichiers de différents types, dans différents formats. Dans ce chapitre, nous allons évoquer les extensions de fichiers associées PowerShell, ainsi que d'autres extensions complémentaires.
II. Formats de fichiers : PS1, PSD1, PSM1, etc.
PowerShell prend en charge différents formats de fichiers, notamment ceux correspondants aux extensions suivantes : ps1, psd1, psm1, mais aussi ps1xml. Il s'agit des extensions officielles, et ceci s'applique aussi bien à Windows PowerShell qu'à PowerShell.
L'extension principale, c'est celle-ci : ".ps1". En effet, c'est l'extension utilisée par les scripts PowerShell, donc chacun de vos scripts devra utiliser cette extension. Le fait que ce soit "ps1" est plutôt trompeur : on pourrait croire qu'il y a une information relative à la version de PowerShell, mais ce n'est pas le cas. Peu importe si un script contient du code PowerShell 1.0 ou PowerShell 7.0, son extension sera ".ps1".
Ensuite, nous avons l'extension ".psd1" faisant référence aux fichiers de configuration ou aux fichiers de données. Autrement dit, ce sont des fichiers formatés en respectant la structure et la syntaxe de PowerShell qu'un script pourra aller lire pour récupérer des informations.
L'extension ".psm1" est utilisée pour les fichiers de module PowerShell, qui sont des scripts regroupant des fonctions, des variables et des commandes destinées à être partagées et réutilisées dans d'autres scripts PowerShell.
L'extension ".ps1xml" est utilisée pour définir l'affichage par défaut des objets dans la console PowerShell. Ces fichiers permettent de personnaliser la façon dont les informations sont présentées et formatées lorsqu'elles sont affichées à l'écran.
III. Formats de fichiers : CSV, XML, JSON, etc.
PowerShell est capable de lire et d'écrire des données en respectant d'autres formats, ce qui est très utile pour traiter des ensembles de données ou définir des fichiers de configuration. Parmi les extensions populaires, nous pouvons citer celles-ci : CSV, XML, JSON, voire TXT et YAML. Voici quelques mots sur ces formats de fichiers "universels" utilisés bien au-delà de PowerShell.
L'extension ".csv" représente les fichiers CSV (Comma-Separated Values) correspondant à un format de fichiers où les données sont structurées à l'aide d'un caractère séparateur. Il s'agit d'un format de fichier très simple utilisé pour stocker des données, comme celles d'une feuille de calcul ou d'une base de données. Chaque ligne du fichier représente un enregistrement de données distinct, avec chaque valeur (champ) dans la ligne séparée par une virgule, un point-virgule ou une tabulation, selon la manière dont a été générée ce fichier.
L'extension ".xml" est utilisée pour les fichiers XML (Extensible Markup Language), qui est un langage de balisage utilisé pour stocker des données. Les fichiers XML sont structurés de manière à être compréhensibles par les humains et les machines, ce qui les rend utiles dans une grande variété d'applications, y compris avec PowerShell.
L'extension ".json" représente les fichiers JSON (JavaScript Object Notation) est également pris en charge par PowerShell. D'ailleurs, JSON est un format souvent utilisé lorsque des données sont envoyées d'un serveur à un client web. Aujourd'hui, le JSON est l'un des formats les plus populaires, notamment pour structurer des données dans de nombreuses applications web et mobiles.
IV. Conclusion
Lorsque vous serez amenés à rédiger des scripts PowerShell dans un contexte professionnel, vous serez forcément confrontés à la manipulation de fichiers avec tout ou partie des formats évoqués dans ce chapitre. Sachez qu'il existe différents cmdlets pour répondre à ce besoin. Par exemple, le cmdlet "Import-CSV" permet d'importer le contenu d'un fichier CSV dans PowerShell. À l'inverse, "Export-CSV" permet d'exporter des données dans un fichier de sortie au format CSV. Nous aurons l'occasion de mettre en pratique cette notion par la suite.