Converte gli oggetti Microsoft .NET Framework in una serie di stringhe di lunghezza variabile con valori separati da virgole (CSV).

Sintassi

ConvertTo-CSV [[-Delimiter] <char>] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]

ConvertTo-CSV [-UseCulture] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]

Descrizione

Il cmdlet ConvertTo-CSV restituisce una serie di stringhe di lunghezza variabile separate da virgole (CSV) che rappresenta gli oggetti inviati. Per ricreare oggetti dalle stringhe CSV, è quindi possibile utilizzare il cmdlet ConvertFrom-CSV. Gli oggetti risultanti sono le versioni CSV degli oggetti originali costituiti da rappresentazioni di stringhe dei valori delle proprietà senza alcun metodo.

È inoltre possibile utilizzare i cmdlet Export-CSV e Import-CSV per convertire gli oggetti .NET Framework in stringhe CSV (e viceversa). Export-CSV equivale a ConvertTo-CSV, a eccezione del fatto che consente di salvare le stringhe CSV in un file.

È possibile utilizzare i parametri del cmdlet ConvertTo-CSV per specificare un delimitatore diverso dalla virgola o fare in modo che ConvertTo-CSV utilizzi il delimitatore predefinito per l'impostazione cultura corrente.

Per ulteriori informazioni, vedere Export-CSV e la sezione Note.

Parametri

-Delimiter <char>

Specifica un delimitatore per separare i valori delle proprietà. Il valore predefinito è la virgola (,). Immettere un carattere, ad esempio i due punti (:).

Per specificare il punto e virgola (;), è necessario racchiuderlo tra virgolette doppie. In caso contrario, verrà interpretato come delimitatore del comando.

Obbligatorio?

false

Posizione?

2

Valore predefinito

, (comma)

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-InputObject <psobject>

Specifica gli oggetti da esportare come stringhe CSV. Immettere una variabile contenente gli oggetti oppure digitare un comando o un'espressione che consente di ottenere gli oggetti. È inoltre possibile reindirizzare gli oggetti a ConvertTo-CSV.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByValue, ByPropertyName)

Accettare caratteri jolly?

false

-NoTypeInformation

Omette l'intestazione delle informazioni sui tipi dall'output. Per impostazione predefinita, la stringa nell'output contiene "#TYPE" seguito dal nome completo del tipo di oggetto .NET Framework.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-UseCulture

Utilizza il separatore di elenco per l'impostazione cultura corrente come delimitatore di dati. Il valore predefinito è la virgola (,).

Questo parametro è molto utile negli script distribuiti agli utenti di tutto il mondo. Per trovare il separatore di elenco di un'impostazione cultura, utilizzare il comando (Get-Culture).TextInfo.ListSeparator.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Comma

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.Management.Automation.PSObject

È possibile reindirizzare qualsiasi oggetto .NET Framework a ConvertTo-CSV.

Output

System.String

L'output CSV viene restituito come una raccolta di stringhe.

Note

Nel formato CSV, ogni oggetto viene rappresentato da un elenco di valori delle relative proprietà separati da virgole. I valori delle proprietà vengono convertiti in stringhe (tramite il metodo ToString() dell'oggetto), pertanto sono in genere rappresentati dal nome del valore della proprietà. ConvertTo-CSV non esporta i metodi dell'oggetto.

Il formato delle stringhe CSV risultanti è il seguente:

-- La prima stringa è composta da '#TYPE' seguito dal nome completo del tipo .NET Framework dell'oggetto, ad esempio #TYPE System.Diagnostics.Process. Per eliminare questa stringa, utilizzare il parametro NoTypeInformation.

-- La stringa successiva rappresenta le intestazioni di colonna. È incluso un elenco dei nomi di tutte le proprietà del primo oggetto separati da virgole.

-- Le stringhe rimanenti sono costituite da elenchi di valori di proprietà di ogni oggetto separati da virgole.

Quando si inviano più oggetti a ConvertTo-CSV, le stringhe vengono ordinate in base alle proprietà del primo oggetto inviato. Se gli oggetti rimanenti non hanno una delle proprietà specificate, il valore della proprietà di tale oggetto è null, rappresentato da due virgole consecutive. Se gli oggetti rimanenti hanno proprietà aggiuntive, i valori di tali proprietà vengono ignorati.

Esempio 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",,

Descrizione
-----------
Con questo comando un singolo oggetto processo viene convertito in formato CSV. Viene utilizzato il cmdlet Get-Process per ottenere i processi PowerShell disponibili nel computer locale. Viene utilizzato un operatore pipeline (|) per inviare il comando al cmdlet ConvertTo-CSV che lo converte in una serie di stringhe separate da virgole.






Esempio 2

C:\PS>$date = get-date

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

Descrizione
-----------
In questo esempio un oggetto data viene convertito in formato CSV. 

Nel primo comando viene utilizzato il cmdlet Get-Date per ottenere la data corrente. La data viene salvata nella variabile $date. 

Nel secondo comando viene utilizzato il cmdlet ConvertTo-CSV per convertire l'oggetto DateTime nella variabile $date in formato CSV. Vengono utilizzati il parametro InputObject per specificare l'oggetto da convertire, il parametro Delimiter per specificare il delimitatore che separa le proprietà dell'oggetto e il parametro NoTypeInformation per eliminare la stringa #TYPE.






Esempio 3

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

Descrizione
-----------
Con questo comando il registro eventi di Windows PowerShell nel computer locale viene convertito in una serie di stringhe CSV. 

Nel comando viene utilizzato il cmdlet Get-EventLog per ottenere gli eventi nel registro di Windows PowerShell. Mediante un operatore pipeline (|) gli eventi vengono inviati al cmdlet ConvertTo-CSV che li converte in formato CSV. Viene utilizzato il parametro UseCulture che utilizza il separatore di elenco per le impostazioni cultura correnti come delimitatore.






Vedere anche




Argomenti della Guida