ValueFromPipeline behavior?

У меня есть команда Get-Testdata , которая извлекает тестовые данные из разных источников и сохраняет их в PSObject с разными значения как свойства. Общее количество объектов затем сохраняется в виде массива для упрощения манипуляций, сортировки, вычислений и т. Д.

Моя проблема в том, что я хочу иметь возможность представлять эти данные в виде (с цветовой кодировкой) HTML, для которого я написала другую команду Show-TestResults .Входной параметр выглядит так

[Parameter(Mandatory=$true,Position=0,ValueFromPipeline=$true)]
[PSObject[]]$InputObject

UPDATE 1

Эта функция сама по себе очень проста, она просто устанавливает некоторые параметры для ConvertTo-HTML , а затем направляет объекты в эту команду:

$head = "<style>[...]" #styling with javascript etc
$header = "<H1>Test Results</H1>
$title = "Test results"
$InputObject | ConvertTo-HTML -head $head -body $header -title $title | Out-File $Filename

END UPDATE 1

Однако, когда я пытаюсь использовать свойство ValueFromPipeline , используя вызов

Get-Testdata [...] | Show-TestResults 

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

$td = Get-Testdata [...]
Show-TestResults $td 

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

11
задан Torbjörn Bergstedt 17 February 2012 в 14:51
поделиться