PowerShell - Export-Csv contre Export-Clixml

1 min de lecture · Mis à jour le 5 septembre 2024

Ce guide vous a servi ? Vous pouvez me soutenir en vous abonnant à la chaîne, en partageant, en désactivant votre bloqueur de pub ou en faisant un don. Merci !

Export-Csv est pratique puisqu’il permet d’exporter et d’utiliser l’export dans un tableur comme Excel ou dans PowerShell avec Import-Csv.
Le fichier généré a aussi l’avantage d’être lisible.

# Exemple
Get-Process |
Select-Object -Property name,cpu,path |
Export-Csv -Path c:\process.csv
# Afficher le contenu du fichier
Get-Content -Path c:\process.csv
# Importer le CSV
Import-Csv -Path C:\process.csv

Mais Export-Csv déclare forfait dans certaines conditions

Export-Csv

Get-Service |
Select-Object -Property name,dependentservices |
Export-Csv -Path c:\demo.csv
# Afficher le contenu du fichier
Get-Content -Path c:\demo.csv
# Importer le CSV
Import-Csv -Path C:\demo.csv
# Afficher le type de la propriété dependentservices
(Get-Service).dependentservices.GetType()

Le problème vient du fait que Export-Csv ne sait pas traiter les propriétés de type array (représentées entre accolades).

Si vous voulez exporter et importer vos objets dans ce contexte, il est préférable d’utiliser Export-Clixml.

Export-CliXml

Get-Service |
Select-Object -Property name,dependentservices |
Export-Clixml -Path c:\process.xml
# Afficher le contenu du fichier
Get-Content -Path c:\process.xml
# Importer le fichier xml
Import-Clixml -Path C:\process.xml

Malheureusement, l’utilisation dans un tableur n’est plus directement possible et le fichier généré est difficilement lisible.

Liens en relation

Suivez-moi sur

Soutenez-moi

Buy Me a Coffee at ko-fi.com

La boutique · Deco-3D

Du relief dans vos affiches

Affiches imprimées couche par couche à Nantes : les couleurs se superposent et l'image prend du volume.

Voir la boutique Livraison offerte en point relais dès 60 € (France)