ConvertTo-CSV
Konvertiert Microsoft .NET Framework-Objekte in eine Reihe von CSV-Zeichenfolgen (Comma-Separated Value).
Syntax
ConvertTo-CSV [[-Delimiter] <char>] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]
ConvertTo-CSV [-UseCulture] [-InputObject] <psobject> [-NoTypeInformation] [<CommonParameters>]
Beschreibung
Das Cmdlet "ConvertTo-CSV" gibt eine Reihe von CSV (Comma-Separated Value)-Zeichenfolgen zurück, die die zu sendenden Objekte darstellt. Anschließend können Sie das Cmdlet "ConvertFrom-CSV" verwenden, um aus den CSV-Zeichenfolgen Objekte neu zu erstellen. Die resultierenden Objekte sind CSV-Versionen der ursprünglichen Objekte, die aus Zeichenfolgendarstellungen der Eigenschaftenwerte bestehen, und keine Methoden.
Sie können auch mit den Cmdlets "Export-CSV" und "Import-CSV" .NET Framework-Objekte in CSV-Zeichenfolgen (bzw. CSV-Zeichenfolgen in .NET Framework-Objekte) konvertieren. Export-CSV entspricht ConvertTo-CSV, jedoch werden mit "Export-CSV" die CSV-Zeichenfolgen in einer Datei gespeichert.
Sie können die Parameter des Cmdlets "ConvertTo-CSV" verwenden, um ein anderes Trennzeichen als ein Komma anzugeben oder um festzulegen, dass ConvertTo-CSV das Standardtrennzeichen für die aktuelle Kultur verwendet.
Weitere Informationen finden Sie unter "Export-CSV" und im Abschnitt "Hinweise".
Parameter
-Delimiter <char>
Gibt ein Trennzeichen für die Eigenschaftenwerte an. Der Standardwert ist ein Komma (,). Geben Sie ein Zeichen ein, z. B. einen Doppelpunkt (:).
Um ein Semikolon (;) anzugeben, schließen Sie es in Anführungszeichen ein. Andernfalls wird es als Befehlstrennzeichen interpretiert.
Erforderlich? |
false |
Position? |
2 |
Standardwert |
, (Komma) |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-InputObject <psobject>
Gibt die Objekte an, die als CSV-Zeichenfolgen exportiert werden sollen. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder einen Ausdruck ein, mit dem die Objekte abgerufen werden. Sie können Objekte auch über die Pipeline an ConvertTo-CSV übergeben.
Erforderlich? |
true |
Position? |
1 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByValue, ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-NoTypeInformation
Lässt den Typinformationsheader in der Ausgabe weg. Standardmäßig enthält die Zeichenfolge in der Ausgabe "#TYPE ", gefolgt von dem vollqualifizierten Namen für den Typ des .NET Framework-Objekts.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-UseCulture
Verwendet das Listentrennzeichen für die aktuelle Kultur als Datentrennzeichen. Der Standardwert ist ein Komma (,).
Dieser Parameter ist in Skripts sehr nützlich, die weltweit an Benutzer verteilt werden. Um das Listentrennzeichen für eine Kultur zu suchen, verwenden Sie den folgenden Befehl: (Get-Culture).TextInfo.ListSeparator.
Erforderlich? |
false |
Position? |
named |
Standardwert |
Komma |
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
System.Management.Automation.PSObject Sie können jedes .NET Framework-Objekt über die Pipeline an ConvertTo-CSV übergeben. |
Ausgaben |
System.String Die CSV-Ausgabe wird als Auflistung von Zeichenfolgen zurückgegeben. |
Hinweise
Im CSV-Format wird jedes Objekt durch eine durch Trennzeichen getrennte Liste seiner Eigenschaftenwerte dargestellt. Die Eigenschaftenwerte werden in Zeichenfolgen konvertiert (mit der ToString()-Methode des Objekts). Deshalb werden sie im Allgemeinen durch den Namen des Eigenschaftenwerts dargestellt. ConvertTo-CSV exportiert nicht die Methoden des Objekts.
Das Format der resultierenden CSV-Zeichenfolgen lautet wie folgt:
– Die erste Zeichenfolge besteht aus "#TYPE ", gefolgt von dem vollqualifizierten Namen für den .NET Framework-Typ des Objekts, z. B. "#TYPE System.Diagnostics.Process". Um diese Zeichenfolge zu unterdrücken, verwenden Sie den NoTypeInformation-Parameter.
– Die nächste Zeichenfolge stellt die Spaltenüberschriften dar. Sie enthält eine durch Trennzeichen getrennte Liste mit den Namen von allen Eigenschaften des ersten Objekts.
– Die restlichen Zeichenfolgen bestehen aus durch Trennzeichen getrennten Listen mit den Eigenschaftenwerten jedes Objekts.
Wenn Sie mehrere Objekte an ConvertTo-CSV senden, ordnet ConvertTo-CSV die Zeichenfolgen auf Grundlage der Eigenschaften des ersten Objekts an, das Sie senden. Wenn die restlichen Objekte über keine der angegebenen Eigenschaften verfügen, ist der Eigenschaftenwert dieses Objekts NULL. Dies wird durch zwei aufeinander folgende Kommas dargestellt. Wenn die restlichen Objekte über zusätzliche Eigenschaften verfügen, werden diese Eigenschaftenwerte ignoriert.
Beispiel 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",,
Beschreibung
-----------
Mit diesem Befehl wird ein einzelnes Prozessobjekt in das CSV-Format konvertiert. In dem Befehl wird der PowerShell-Prozess auf dem Computer mit dem Cmdlet "Get-Process" abgerufen. Mit dem Pipelineoperator (|) wird das Prozessobjekt an das Cmdlet "ConvertTo-CSV" gesendet, das es in eine Reihe von durch Trennzeichen getrennte Zeichenfolgen konvertiert.
Beispiel 2
C:\PS>$date = get-date
C:\PS> convertto-csv -inputobject $date -delimiter ";" -notypeinformation
Beschreibung
-----------
In diesem Beispiel wird ein Datumsobjekt in das CSV-Format konvertiert.
Im ersten Befehl wird mit dem Cmdlet "Get-Date" das aktuelle Datum abgerufen. Es wird in der Variablen "$date" gespeichert.
Im zweiten Befehl wird das DateTime-Objekt in der Variablen "$date" mithilfe des Cmdlets "ConvertTo-CSV" in das CSV-Format konvertiert. Das zu konvertierende Objekt wird mit dem InputObject-Parameter angegeben. Das Trennzeichen für die Objekteigenschaften wird mit dem Delimiter-Parameter angegeben. Die #TYPE-Zeichenfolge wird mit dem NoTypeInformation-Parameter unterdrückt.
Beispiel 3
C:\PS>get-eventlog -log "windows powershell" | convertto-csv -useculture
Beschreibung
-----------
Mit diesem Befehl wird das Windows PowerShell-Ereignisprotokoll auf dem lokalen Computer in eine Reihe von CSV-Zeichenfolgen konvertiert.
Die Ereignisse im Windows PowerShell-Protokoll werden mit dem Cmdlet "Get-EventLog" abgerufen. Die Ereignisse werden mit dem Pipelineoperator (|) an das Cmdlet "ConvertTo-CSV" gesendet, das die Ereignisse in das CSV-Format konvertiert. Im Befehl wird mit dem UseCulture-Parameter festgelegt, dass das Listentrennzeichen für die aktuelle Kultur als Trennzeichen verwendet wird.