Импортировать CSV из переменной вместо файла? - PullRequest
4 голосов
/ 13 января 2010

У меня есть команда, которая форматирует вывод в виде CSV. У меня есть список машин, с которыми будет работать эта команда с использованием цикла foreach. в приведенном ниже примере $ serverlist автоматически генерируется с помощью запроса AD.

foreach ($server in $serverlist) {
 $outputlist = mycommand
 }

что я хотел бы сделать, так это каким-то образом получить объекты из результирующего CSV, чтобы я мог выбрать только определенные объекты для отчета. Однако единственный способ сделать это - использовать import-csv, который, кажется, хочет работать только с файлами, а не с переменными: т.е..

Import-Csv output.csv | ft "HostName","TaskName" | 
   Where-object {$_.TaskName -eq 'Blah'}

Я бы хотел иметь возможность использовать import-csv $ outputlist. это приводит к тому, что import-csv имеет шипение :))

Может ли кто-нибудь указать мне правильное направление, как этого достичь?

Приветствия

1 Ответ

9 голосов
/ 13 января 2010

Требуемая команда называется ConvertFrom-CSV . Синтаксис показан ниже.

NAME
    ConvertFrom-CSV

SYNOPSIS
    Converts object properties in comma-separated value (CSV) format into CSV
    versions of the original objects.

SYNTAX
    ConvertFrom-CSV [[-Delimiter] <char>] [-InputObject] <PSObject[]> [-Header <string[]>] [<CommonParameters>]
    ConvertFrom-CSV -UseCulture [-InputObject] <PSObject[]> [-Header <string[]>] [<CommonParameters>]
...