ConvertTo-Csv
Convertit les objets en une série de chaînes de valeurs séparées par des virgules (CSV).
Syntaxe
Delimiter (Par défaut)
ConvertTo-Csv
[-InputObject] <psobject>
[[-Delimiter] <char>]
[-NoTypeInformation]
[<CommonParameters>]
UseCulture
ConvertTo-Csv
[-InputObject] <psobject>
[-UseCulture]
[-NoTypeInformation]
[<CommonParameters>]
Description
L’applet ConvertTo-CSV de commande retourne une série de chaînes de valeurs séparées par des virgules (CSV) qui représentent les objets que vous soumettez. Vous pouvez ensuite utiliser l’applet de commande ConvertFrom-Csv pour recréer des objets à partir des chaînes CSV. Les objets convertis à partir de CSV sont des valeurs de chaîne des objets d’origine qui contiennent des valeurs de propriété et aucune méthode.
Vous pouvez utiliser l’applet de commande Export-Csv pour convertir des objets en chaînes CSV.
Export-CSV est similaire à ConvertTo-CSV, sauf qu’elle enregistre les chaînes CSV dans un fichier.
L’applet de commande ConvertTo-CSV a des paramètres pour spécifier un délimiteur autre qu’une virgule ou utiliser la culture actuelle comme délimiteur.
Exemples
Exemple 1 : Convertir un objet en CSV
Cet exemple convertit un objet Process en chaîne CSV.
Get-Process -Name 'PowerShell' | ConvertTo-Csv -NoTypeInformation
"Name","SI","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion", ...
"powershell","11","691","2204036739072","175943680","132665344","33312", ...
L’applet de commande ConvertTo-CSV. L’applet de commande ConvertTo-CSV convertit l’objet en chaînes CSV. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV.
Exemple 2 : Convertir un objet DateTime en CSV
Cet exemple convertit un objet DateTime en chaîne CSV.
$Date = Get-Date
ConvertTo-Csv -InputObject $Date -Delimiter ';' -NoTypeInformation
"DisplayHint";"DateTime";"Date";"Day";"DayOfWeek";"DayOfYear";"Hour";"Kind";"Millisecond";"Minute";"Month";"Second";"Ticks";"TimeOfDay";"Year"
"DateTime";"Friday, January 4, 2019 14:40:51";"1/4/2019 00:00:00";"4";"Friday";"4";"14";"Local";"711";"40";"1";"51";"636822096517114991";"14:40:51.7114991";"2019"
L’applet de commande Get-Date obtient l’objet DateTime et l’enregistre dans la variable $Date. L’applet de commande ConvertTo-Csv convertit l’objet DateTime en chaînes. Le paramètre InputObject utilise l’objet DateTime stocké dans la variable $Date. Le paramètre délimiteur spécifie un point-virgule pour séparer les valeurs de chaîne. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV.
Exemple 3 : Convertir le journal des événements PowerShell en CSV
Cet exemple convertit le journal des événements Windows pour PowerShell en une série de chaînes CSV.
(Get-Culture).TextInfo.ListSeparator
Get-WinEvent -LogName 'Windows PowerShell' | ConvertTo-Csv -UseCulture -NoTypeInformation
,
"Message","Id","Version","Qualifiers","Level","Task","Opcode","Keywords","RecordId", ...
"Error Message = System error","403",,"0","4","4",,"36028797018963968","46891","PowerShell", ...
L’applet de commande Get-Culture utilise les propriétés imbriquées TextInfo et ListSeparator et affiche le séparateur de liste par défaut de la culture actuelle. L’applet de commande Get-WinEvent obtient les objets du journal des événements et utilise le paramètre LogName pour spécifier le nom du fichier journal. Les objets du journal des événements sont envoyés dans le pipeline vers l’applet de commande ConvertTo-Csv. L’applet de commande ConvertTo-Csv convertit les objets du journal des événements en une série de chaînes CSV. Le paramètre UseCulture utilise le séparateur de liste par défaut de la culture actuelle comme séparateur. Le paramètre NoTypeInformation supprime l’en-tête d’informations #TYPE de la sortie CSV.
Paramètres
-Delimiter
Spécifie le délimiteur pour séparer les valeurs de propriété dans les chaînes CSV. La valeur par défaut est une virgule (,). Entrez un caractère, tel qu’un signe deux-points (:). Pour spécifier un point-virgule (;) le placer entre guillemets simples.
Propriétés du paramètre
| Type: | Char |
| Valeur par défaut: | comma (,) |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
Delimiter
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-InputObject
Spécifie les objets qui sont convertis en chaînes CSV. Entrez une variable qui contient les objets ou tapez une commande ou une expression qui obtient les objets. Vous pouvez également diriger des objets vers ConvertTo-CSV.
Propriétés du paramètre
| Type: | PSObject |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-NoTypeInformation
Supprime l’en-tête d’informations #TYPE de la sortie. Ce paramètre est devenu la valeur par défaut dans PowerShell 6.0 et est inclus pour la compatibilité descendante.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | NTI |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-UseCulture
Utilise le séparateur de liste de la culture actuelle comme délimiteur d’élément. Pour rechercher le séparateur de liste pour une culture, utilisez la commande suivante : (Get-Culture).TextInfo.ListSeparator.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
UseCulture
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
PSObject
Vous pouvez rediriger n’importe quel objet doté d’un adaptateur ETS (Extended Type System) vers ConvertTo-CSV.
Sorties
String
La sortie CSV est renvoyée sous la forme d’une collection de chaînes.
Notes
Au format CSV, chaque objet est représenté par une liste de sa valeur de propriété séparée par des virgules. Les valeurs de propriété sont converties en chaînes à l’aide de la méthode toString() de l’objet. Les chaînes sont représentées par le nom de la valeur de propriété.
ConvertTo-CSV n’exporte pas les méthodes de l’objet.
Les chaînes CSV sont sorties comme suit :
- Par défaut, la première chaîne contient l’en-tête d’informations #TYPE suivi du nom complet du type d’objet. Par exemple, #TYPE System.Diagnostics.Process.
- Si noTypeInformation est utilisé, la première chaîne inclut les en-têtes de colonne. Les en-têtes contiennent les noms de propriétés du premier objet sous forme de liste séparées par des virgules.
- Les chaînes restantes contiennent 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 trie les chaînes en fonction des propriétés du premier objet que vous envoyez. Si les objets restants n’ont pas l’une des propriétés spécifiées, la valeur de propriété de cet objet est Null, comme représenté par deux virgules consécutives. Si les objets restants ont des propriétés supplémentaires, ces valeurs de propriété sont ignorées.