powershellscripts.com

Tutorials  PowerShell Cmdlet Help for ConvertTo-Csv



NAME
ConvertTo-CSV

SYNOPSIS
Converts Microsoft .NET Framework objects into a series of comma-separated value (CSV) variable-length strings.

SYNTAX
ConvertTo-CSV [[-Delimiter] ] [-InputObject] [-NoTypeInformation] []

ConvertTo-CSV [-UseCulture] [-InputObject] [-NoTypeInformation] []


DESCRIPTION
The ConvertTo-CSV cmdlet returns a series of comma-separated, variable-length (CSV) strings that represents the obj
ects that you submit. You can then use the ConvertFrom-CSV cmdlet to re-create objects from the CSV strings. The re
sulting objects are CSV versions of the original objects that consist of string representations of the property val
ues and no methods.

You can also use the Export-CSV and Import-CSV cmdlets to convert .NET Framework objects to CSV strings (and back).
Export-CSV is the same as ConvertTo-CSV, except that it saves the CSV strings in a file.

You can use the parameters of the ConvertTo-CSV cmdlet to specify a delimiter other than a comma or to direct Conve
rtTo-CSV to use the default delimiter for the current culture.

For more information, see Export-CSV, and see the Notes section.


PARAMETERS
-Delimiter
Specifies a delimiter to separate the property values. The default is a comma (,). Enter a character, such as a
colon (:).

To specify a semicolon (;), enclose it in quotation marks. Otherwise, it will be interpreted as the command del
imiter.

Required? false
Position? 2
Default value , (comma)
Accept pipeline input? false
Accept wildcard characters? false

-InputObject
Specifies the objects to export as CSV strings. Enter a variable that contains the objects or type a command or
expression that gets the objects. You can also pipe objects to ConvertTo-CSV.

Required? true
Position? 1
Default value
Accept pipeline input? true (ByValue, ByPropertyName)
Accept wildcard characters? false

-NoTypeInformation []
Omits the type information header from the output. By default, the string in the output contains "#TYPE " follo
wed by the fully-qualified name of the type of the .NET Framework object.

Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false

-UseCulture []
Uses the list separator for the current culture as the data delimiter. The default is a comma (,).

This parameter is very useful in scripts that are being distributed to users worldwide. To find the list separa
tor for a culture, use the following command: (Get-Culture).TextInfo.ListSeparator.

Required? false
Position? named
Default value Comma
Accept pipeline input? false
Accept wildcard characters? false


This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer and OutVariable. For more information, type,
"get-help about_commonparameters".

INPUTS
System.Management.Automation.PSObject
You can pipe any .NET Framework object to ConvertTo-CSV.


OUTPUTS
System.String
The CSV output is returned as a collection of strings.


NOTES


In CSV format, each object is represented by a comma-separated list of its property value. The property values
are converted to strings (by using the ToString() method of the object), so they are generally represented by t
he name of the property value. ConvertTo-CSV does not export the methods of the object.

The format of the resulting CSV strings is as follows:

-- The first string consists of '#TYPE ' followed by the fully-qualified name of the .NET Framework type of the
object, such as #TYPE System.Diagnostics.Process. To suppress this string, use the NoTypeInformation parameter
.

-- The next string represents the column headers. It contains a comma-separated list of the names of all the pr
operties of the first object.

-- The remaining strings consist of comma-separated lists of the property values of each object.

When you submit multiple objects to ConvertTo-CSV, ConvertTo-CSV orders the strings based on the properties of
the first object that you submit. If the remaining objects do not have one of the specified properties, the pro
perty value of that object is null, as represented by two consecutive commas. If the remaining objects have add
itional properties, those property values are ignored.


-------------------------- EXAMPLE 1 --------------------------

C:\PS>get-process powershell | convertto-csv

#TYPE System.Diagnostics.Process
"__NounName","Name","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion","ProductVersion","Descripti
on",
"Product","BasePriority","ExitCode","HasExited","ExitTime","Handle","HandleCount","Id","MachineName","MainWindowHan
dle"
,"MainWindowTitle","MainModule","MaxWorkingSet","MinWorkingSet","Modules","NonpagedSystemMemorySize","NonpagedSyste
mMem
orySize64","PagedMemorySize","PagedMemorySize64","PagedSystemMemorySize","PagedSystemMemorySize64","PeakPagedMemory
Size
","PeakPagedMemorySize64","PeakWorkingSet","PeakWorkingSet64","PeakVirtualMemorySize","PeakVirtualMemorySize64","Pr
iori
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","Microsoftr Windowsr Operating System","8",,"False",,"860","216","5132",".","5636936","Windows Pow
erSh
ell 2.0 (04/17/2008 00:10:40)","System.Diagnostics.ProcessModule (powershell.exe)","1413120","204800","System.Diagn
osti
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:0
3.51
00225","00:00:03.3072212","597544960","597544960","False",,,,"60399616","60399616",,


Description
-----------
This command converts a single process object to CSV format. The command uses the Get-Process cmdlet to get the Pow
erShell process on the local computer. It uses a pipeline operator (|) to send the command to the ConvertTo-CSV cmd
let, which converts it to a series of comma-separated strings.





-------------------------- EXAMPLE 2 --------------------------

C:\PS>$date = get-date

C:\PS> convertto-csv -inputobject $date -delimiter ";" -notypeinformation


Description
-----------
This example converts a date object to CSV format.

The first command uses the Get-Date cmdlet to get the current date. It saves it in the $date variable.

The second command uses the ConvertTo-CSV cmdlet to convert the DateTime object in the $date variable to CSV format
. The command uses the InputObject parameter to specify the object to be converted. It uses the Delimiter parameter
to specify the delimiter that separates the object properties. It uses the NoTypeInformation parameter to suppress
the #TYPE string.





-------------------------- EXAMPLE 3 --------------------------

C:\PS>get-eventlog -log "windows powershell" | convertto-csv -useculture


Description
-----------
This command converts the Windows PowerShell event log on the local computer to a series of CSV strings.

The command uses the Get-EventLog cmdlet to get the events in the Windows PowerShell log. A pipeline operator (|) s
ends the events to the ConvertTo-CSV cmdlet, which converts the events to CSV format. The command uses the UseCultu
re parameter, which uses the list separator for the current culture as the delimiter.






RELATED LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=135203
Import-CSV
Export-CSV
ConvertFrom-CSV