ConvertTo-Csv
Mengonversi objek .NET menjadi serangkaian string nilai yang dipisahkan karakter (CSV).
Sintaks
ConvertTo-Csv
[-InputObject] <psobject>
[[-Delimiter] <char>]
[-NoTypeInformation]
[<CommonParameters>]
ConvertTo-Csv
[-InputObject] <psobject>
[-UseCulture]
[-NoTypeInformation]
[<CommonParameters>]
Deskripsi
ConvertTo-CSV
Cmdlet mengembalikan serangkaian string nilai yang dipisahkan karakter (CSV) yang mewakili objek yang Anda kirimkan. Anda kemudian dapat menggunakan ConvertFrom-Csv
cmdlet untuk membuat ulang objek dari string CSV. Objek yang dikonversi dari CSV adalah nilai string dari objek asli yang berisi nilai properti dan tanpa metode.
Anda dapat menggunakan Export-Csv
cmdlet untuk mengonversi objek ke string CSV. Export-CSV
mirip ConvertTo-CSV
dengan , kecuali menyimpan string CSV ke file.
ConvertTo-CSV
Cmdlet memiliki parameter untuk menentukan pemisah selain koma atau menggunakan budaya saat ini sebagai pemisah.
Contoh
Contoh 1: Mengonversi objek ke CSV
Contoh ini mengonversi objek Proses menjadi string 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", ...
Get-Process
Cmdlet mendapatkan objek Proses dan menggunakan parameter Nama untuk menentukan proses PowerShell. Objek proses dikirimkan alur ke ConvertTo-CSV
cmdlet. ConvertTo-CSV
Cmdlet mengonversi objek menjadi string CSV. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV.
Contoh 2: Mengonversi objek DateTime ke CSV
Contoh ini mengonversi objek DateTime menjadi string 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"
Get-Date
Cmdlet mendapatkan objek DateTime dan menyimpannya dalam $Date
variabel. ConvertTo-Csv
Cmdlet mengonversi objek DateTime menjadi string. Parameter InputObject menggunakan objek DateTime yang disimpan dalam $Date
variabel. Parameter Pemisah menentukan titik koma untuk memisahkan nilai string. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV.
Contoh 3: Mengonversi log peristiwa PowerShell ke CSV
Contoh ini mengonversi log peristiwa Windows untuk PowerShell menjadi serangkaian string 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", ...
Get-Culture
Cmdlet menggunakan properti berlapis TextInfo dan ListSeparator dan menampilkan pemisah daftar default budaya saat ini. Get-WinEvent
Cmdlet mendapatkan objek log peristiwa dan menggunakan parameter LogName untuk menentukan nama file log. Objek log peristiwa dikirimkan alur ke ConvertTo-Csv
cmdlet. ConvertTo-Csv
Cmdlet mengonversi objek log peristiwa menjadi serangkaian string CSV. Parameter UseCulture menggunakan pemisah daftar default budaya saat ini sebagai pemisah. Parameter NoTypeInformation menghapus header informasi #TYPE dari output CSV.
Parameter
-Delimiter
Menentukan pemisah untuk memisahkan nilai properti dalam string CSV. Defaultnya adalah koma (,
). Masukkan karakter, seperti titik dua (:
). Untuk menentukan titik koma (;
) mengapitnya dalam tanda kutip tunggal.
Type: | Char |
Position: | 1 |
Default value: | comma (,) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Menentukan objek yang dikonversi ke string CSV. Masukkan variabel yang berisi objek atau ketik perintah atau ekspresi yang mendapatkan objek. Anda juga dapat menyalurkan objek ke ConvertTo-CSV
.
Type: | PSObject |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoTypeInformation
Menghapus header informasi #TYPE dari output. Parameter ini menjadi default di PowerShell 6.0 dan disertakan untuk kompatibilitas mundur.
Type: | SwitchParameter |
Aliases: | NTI |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseCulture
Menggunakan pemisah daftar untuk budaya saat ini sebagai pemisah item. Untuk menemukan pemisah daftar untuk budaya, gunakan perintah berikut: (Get-Culture).TextInfo.ListSeparator
.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Anda dapat menyalurkan objek apa pun yang memiliki adaptor Extended Type System (ETS) ke cmdlet ini.
Output
Cmdlet ini mengembalikan satu atau beberapa string yang mewakili setiap objek yang dikonversi.
Catatan
Dalam format CSV, setiap objek diwakili oleh daftar nilai propertinya yang dipisahkan karakter. Nilai properti dikonversi ke string menggunakan metode ToString() objek. String diwakili oleh nama nilai properti. ConvertTo-CSV
tidak mengekspor metode objek.
String CSV adalah output sebagai berikut:
- Secara default string pertama berisi header informasi #TYPE diikuti dengan nama tipe objek yang sepenuhnya memenuhi syarat. Misalnya, #TYPE System.Diagnostics.Process.
- Jika NoTypeInformation digunakan, string pertama menyertakan header kolom. Header berisi nama properti objek pertama sebagai daftar yang dipisahkan koma.
- String yang tersisa berisi daftar nilai properti masing-masing objek yang dipisahkan koma.
Saat Anda mengirimkan beberapa objek ke ConvertTo-CSV
, ConvertTo-CSV
mengurutkan string berdasarkan properti objek pertama yang Anda kirimkan. Jika objek yang tersisa tidak memiliki salah satu properti yang ditentukan, nilai properti objek tersebut adalah Null, seperti yang diwakili oleh dua koma berturut-turut. Jika objek yang tersisa memiliki properti tambahan, nilai properti tersebut diabaikan.