ConvertTo-CSV
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.