У меня есть команда Get-Testdata
, которая извлекает тестовые данные из разных источников и сохраняет их в PSObject
с различными значениями в качестве свойств. Общее количество объектов затем хранится в виде массива, для удобства манипуляции, сортировки, вычисления и т. Д.Поведение ValueFromPipeline?
Проблема заключается в том, что я хочу, чтобы иметь возможность представить эти данные как (цветные) HTML, ve написала другую команду, 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
H owever, когда я пытаюсь использовать ValueFromPipeline
свойство, с помощью вызова
Get-Testdata [...] | Show-TestResults
только первый объект в массиве показано. Но если я вместо этого назову команду, как
$td = Get-Testdata [...]
Show-TestResults $td
Весь массив представлен, как и ожидалось. Может кто-то объяснить это - и, надеюсь, поможет мне исправить это?
Вы хотите, чтобы показать, как ваша функция выглядит как (примерно), и как вы используете $ InputObject там? Если там будет ошибка, мы это увидим. –
Обновлено теперь с помощью функций –