【发布时间】:2012-02-17 13:07:03
【问题描述】:
我有一个命令Get-Testdata,它从不同的来源检索测试数据并将这些数据存储到PSObject 中,并将不同的值作为属性。然后将对象的总数存储为一个数组,以便于操作、排序、计算等。
我的问题是我希望能够将这些数据显示为(颜色编码的)HTML,为此我编写了另一个命令Show-TestResults。输入参数是这样的
[Parameter(Mandatory=$true,Position=0,ValueFromPipeline=$true)]
[PSObject[]]$InputObject
更新 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
结束更新 1
但是,当我尝试使用 ValueFromPipeline 属性时,使用调用
Get-Testdata [...] | Show-TestResults
仅显示数组中的第一个对象。但是,如果我改为调用命令,例如
$td = Get-Testdata [...]
Show-TestResults $td
按预期显示整个数组。有人可以解释一下吗?希望能指导我纠正它吗?
【问题讨论】:
-
您想展示您的函数的外观(大致)以及您如何在那里使用 $InputObject 吗?如果那里有错误,我们会看到它。
-
现已更新功能详情
标签: powershell