Преобразует объекты Microsoft .NET Framework в набор строк переменной длины, содержащих разделенные запятыми значения (CSV).

Синтаксис

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

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

Описание

Командлет ConvertTo-CSV возвращает набор строк переменной длины, содержащих разделенные запятыми значения (CSV), которые представляют отправляемые объекты. С помощью командлета ConvertFrom-CSV можно воссоздавать объекты на базе строк CSV. В результате будут получаться объекты, которые являются CSV-версиями исходных объектов и содержат строковые представления значений свойств, но не содержат методов.

Можно также использовать командлеты Export-CSV и Import-CSV для преобразования объектов .NET Framework в строки CSV и обратно. Командлет Export-CSV аналогичен командлету ConvertTo-CSV за исключением того, что он сохраняет строки CSV в файл.

С помощью параметров командлета ConvertTo-CSV можно задать отличный от запятой разделитель или сделать так, чтобы командлет ConvertTo-CSV использовал разделитель по умолчанию для текущей культуры.

Дополнительные сведения см. в описании командлета Export-CSV и раздел "Примечания".

Параметры

-Delimiter <char>

Задает разделитель значений свойств. По умолчанию используется запятая (,). Введите символ, например двоеточие (:).

Чтобы задать точку с запятой (;), заключите ее в кавычки. В противном случае она будет интерпретироваться в качестве разделителя команд.

Обязательно?

false

Позиция?

2

Значение по умолчанию

, (comma)

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-InputObject <psobject>

Задает объекты для экспорта в формате строк CSV. Введите переменную, содержащую объекты, либо получающую их команду или выражение. Кроме того, можно передать объекты командлету ConvertTo-CSV по конвейеру.

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue, ByPropertyName)

Принимать подстановочные знаки?

false

-NoTypeInformation

Исключает из конечных результатов заголовок с типами данных. По умолчанию строка результатов содержит элемент "#TYPE ", после которого указывается полное имя типа объекта .NET Framework.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-UseCulture

Использует в качестве разделителя данных разделитель элементов списка из текущей культуры. По умолчанию используется запятая (,).

Этот параметр бывает полезным в скриптах, которые распространяются среди пользователей в разных странах мира. Чтобы найти разделитель элементов списка для текущей культуры, воспользуйтесь следующей командой: (Get-Culture).TextInfo.ListSeparator.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Comma

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

Входные данные

System.Management.Automation.PSObject

Любой объект .NET Framework можно передать командлету ConvertTo-CSV по конвейеру.

Выходные данные

System.String

Результат в формате CSV возвращается в виде коллекции строк.

Примечания

В формате CSV каждый объект представляется списком разделенных запятыми значений его свойств. Значения свойств преобразуются в строковый формат (с помощью метода ToString() объекта), поэтому они обычно представляются именами значений свойств. Командлет ConvertTo-CSV не экспортирует методы объекта.

Получаемые в результате строки CSV имеют следующий формат.

-- Первая строка содержит элемент "#TYPE", за которым следует полное имя типа объекта .NET Framework, например "#TYPE System.Diagnostics.Process". Чтобы исключить из вывода эту строку, воспользуйтесь параметром NoTypeInformation.

-- Следующая строка представляет заголовки столбцов. Она содержит список разделенных запятыми имен всех свойств первого объекта.

-- Оставшиеся строки содержат списки разделенных запятыми значений свойств каждого из объектов.

При передаче командлету ConvertTo-CSV нескольких объектов командлет ConvertTo-CSV формирует строки на основании свойств первого отправленного объекта. Если у оставшихся объектов нет одного из указанных свойств, то значение этого свойства для соответствующего объекта равно NULL, что обозначается двумя последовательными запятыми. Если же у оставшихся объектов имеются дополнительные свойства, эти свойства игнорируются командлетом.

Пример 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",,

Описание
-----------
Эта команда преобразует один объект процесса в формат CSV. Команда с помощью командлета Get-Process получает выполняющийся на локальном компьютере процесс PowerShell. С помощью оператора конвейера (|) результат выполнения этой команды передается в командлет ConvertTo-CSV, который преобразует его в набор строк разделенных запятыми значений.






Пример 2

C:\PS>$date = get-date

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

Описание
-----------
Этот пример преобразует объект даты в формат CSV. 

Первая команда с помощью командлета Get-Date получает текущее значение даты. Оно сохраняется в переменной $date. 

Вторая команда использует командлет ConvertTo-CSV, чтобы преобразовать объект DateTime в переменной $date в формат CSV. Команда использует параметр InputObject, чтобы задать подлежащий преобразованию объект. Параметр Delimiter используется в этой команде для указания разделителя свойств объекта. Чтобы исключить из вывода строку #TYPE, используется параметр NoTypeInformation.






Пример 3

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

Описание
-----------
Эта команда преобразует журнал событий Windows PowerShell на локальном компьютере в набор строк CSV. 

С помощью командлета Get-EventLog эта команда получает события из журнала Windows PowerShell. С помощью оператора конвейера (|) она передает события командлету ConvertTo-CSV, который преобразует события в формат CSV. В этой команде используется параметр UseCulture, указывающий, что в качестве разделителя значений должен использоваться разделитель элементов списка текущей культуры.






См. также