Convertit des objets Microsoft .NET Framework en une série de chaînes de longueur variable au format CSV (valeurs séparées par des virgules).
Syntaxe
ConvertTo-CSV [[-Delimiter] <char>] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>] ConvertTo-CSV [-UseCulture] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]
Description
L'applet de commande ConvertTo-CSV retourne une série de chaînes de longueur variable séparées par des virgules (CSV) qui représentent les objets que vous envoyez. Vous pouvez alors utiliser l'applet de commande ConvertFrom-CSV pour recréer les objets à partir des chaînes CSV. Les objets obtenus sont des versions CSV des objets d'origine qui consistent en des représentations sous forme de chaînes des valeurs de propriété et ne comportent pas de méthodes.
Vous pouvez également utiliser les applets de commande Export-CSV et Import-CSV pour convertir des objets .NET Framework en chaînes CSV (et inversement). L'applet Export-CSV est identique à l'applet ConvertTo-CSV, à ceci près qu'elle enregistre les chaînes CSV dans un fichier.
Vous pouvez utiliser les paramètres de l'applet de commande ConvertTo-CSV pour spécifier un délimiteur autre qu'une virgule ou pour demander à ConvertTo-CSV d'utiliser le délimiteur par défaut de la culture actuelle.
Pour plus d'informations, consultez la section Remarques d'Export-CSV.
Paramètres
-Delimiter <char>
Spécifie un délimiteur pour séparer les valeurs de propriété. La valeur par défaut est une virgule (,). Entrez un caractère, tel qu'un signe deux-points (:).
Pour spécifier un point-virgule (;), placez-le entre guillemets. Sinon, il sera interprété en tant que délimiteur de commande.
Obligatoire ? |
false |
Position ? |
2 |
Valeur par défaut |
, (comma) |
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-InputObject <psobject>
Spécifie les objets à exporter en tant que chaînes CSV. Entrez une variable contenant les objets ou tapez une commande ou une expression qui obtient les objets. Vous pouvez également diriger les objets vers ConvertTo-CSV.
Obligatoire ? |
true |
Position ? |
1 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
true (ByValue, ByPropertyName) |
Accepter les caractères génériques ? |
false |
-NoTypeInformation
Omet l'en-tête d'informations de type de la sortie. Par défaut, la chaîne de la sortie contient « #TYPE », suivi du nom complet du type de l'objet .NET Framework.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-UseCulture
Utilise le séparateur de liste de la culture actuelle en tant que délimiteur de données. La valeur par défaut est une virgule (,).
Ce paramètre est très utile dans les scripts distribués à des utilisateurs dans le monde entier. Pour rechercher le séparateur de liste d'une culture, utilisez la commande (Get-Culture).TextInfo.ListSeparator.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
Comma |
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 .NET Framework vers ConvertTo-CSV. |
Sorties |
System.String La sortie CSV est retournée sous la forme d'une collection de chaînes. |
Remarques
Au format CSV, chaque objet est représenté par une liste séparée par des virgules de sa valeur de propriété. Les valeurs de propriété sont converties en chaînes (par l'intermédiaire de la méthode ToString() de l'objet). Elles sont donc généralement représentées par le nom de la valeur de propriété. ConvertTo-CSV n'exporte pas les méthodes de l'objet.
Le format des chaînes CSV obtenues est le suivant :
-- La première chaîne est constituée de « #TYPE », suivi du nom complet du type .NET Framework de l'objet, tel que #TYPE System.Diagnostics.Process. Pour supprimer cette chaîne, utilisez le paramètre NoTypeInformation.
-- La chaîne suivante représente les en-têtes de colonne. Elle contient une liste séparée par des virgules des noms de toutes les propriétés du premier objet.
-- Les autres chaînes consistent en des listes séparées par des virgules des valeurs de propriété de chaque objet.
Lorsque vous envoyez plusieurs objets à ConvertTo-CSV, ConvertTo-CSV classe les chaînes en fonction des propriétés du premier objet que vous envoyez. Si les autres objets ne possèdent pas l'une des propriétés spécifiées, la valeur de propriété de l'objet est nulle, ce qui est représenté par deux virgules consécutives. Si les autres objets ont des propriétés supplémentaires, ces valeurs de propriété sont ignorées.
Exemple 1
C:\PS>get-process powershell | convertto-csv #TYPE System.Diagnostics.Process "__NounName","Name","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion","ProductVersion","Description", "Product","BasePriority","ExitCode","HasExited","ExitTime","Handle","HandleCount","Id","MachineName","MainWindowHandle" ,"MainWindowTitle","MainModule","MaxWorkingSet","MinWorkingSet","Modules","NonpagedSystemMemorySize","NonpagedSystemMem orySize64","PagedMemorySize","PagedMemorySize64","PagedSystemMemorySize","PagedSystemMemorySize64","PeakPagedMemorySize ","PeakPagedMemorySize64","PeakWorkingSet","PeakWorkingSet64","PeakVirtualMemorySize","PeakVirtualMemorySize64","Priori tyBoostEnabled","PriorityClass","PrivateMemorySize","PrivateMemorySize64","PrivilegedProcessorTime","ProcessName","Proc essorAffinity","Responding","SessionId","StartInfo","StartTime","SynchronizingObject","Threads","TotalProcessorTime","U serProcessorTime","VirtualMemorySize","VirtualMemorySize64","EnableRaisingEvents","StandardInput","StandardOutput","Sta ndardError","WorkingSet","WorkingSet64","Site","Container" "Process","powershell","216","597544960","60399616","63197184","21692","C:\WINDOWS\system32\WindowsPowerShell\v1.0\powe rshell.exe","Microsoft Corporation","3.4788223","6.1.6587.1 (fbl_srv_powershell(nigels).070711-0102)","6.1.6587.1","Win dows PowerShell","Microsoft® Windows® Operating System","8",,"False",,"860","216","5132",".","5636936","Windows PowerSh ell 2.0 (04/17/2008 00:10:40)","System.Diagnostics.ProcessModule (powershell.exe)","1413120","204800","System.Diagnosti cs.ProcessModuleCollection","21692","21692","63197184","63197184","320080","320080","63868928","63868928","60715008","6 0715008","598642688","598642688","True","Normal","63197184","63197184","00:00:00.2028013","powershell","15","True","1", "System.Diagnostics.ProcessStartInfo","4/21/2008 3:49:19 PM",,"System.Diagnostics.ProcessThreadCollection","00:00:03.51 00225","00:00:03.3072212","597544960","597544960","False",,,,"60399616","60399616",, Description ----------- Cette commande convertit un objet processus unique au format CSV. Elle utilise l'applet de commande Get-Process pour obtenir le processus PowerShell de l'ordinateur local. Elle utilise un opérateur de pipeline (|) pour envoyer la commande à l'applet de commande ConvertTo-CSV, qui la convertit en une série de chaînes séparées par des virgules.
Exemple 2
C:\PS>$date = get-date C:\PS> convertto-csv -inputobject $date -delimiter ";" -notypeinformation Description ----------- Cet exemple convertit un objet date au format CSV. La première commande utilise l'applet de commande Get-Date pour obtenir la date actuelle. Elle l'enregistre dans la variable $date. La deuxième commande utilise l'applet de commande ConvertTo-CSV pour convertir l'objet DateTime de la variable $date au format CSV. Elle utilise le paramètre InputObject pour spécifier l'objet à convertir. Elle utilise le paramètre Delimiter pour spécifier le délimiteur qui sépare les propriétés de l'objet. Elle utilise le paramètre NoTypeInformation pour supprimer la chaîne #TYPE.
Exemple 3
C:\PS>get-eventlog -log "windows powershell" | convertto-csv -useculture Description ----------- Cette commande convertit le journal d'événements Windows PowerShell de l'ordinateur local en une série de chaînes CSV. Elle utilise l'applet de commande Get-EventLog pour obtenir les événements du journal Windows PowerShell. Un opérateur de pipeline (|) envoie les événements à l'applet de commande ConvertTo-CSV, qui convertit les événements au format CSV. La commande utilise le paramètre UseCulture, qui se sert du séparateur de liste de la culture actuelle en tant que délimiteur.
Voir aussi