我有一個文件test.ps1子作業:如何獲得一個孩子的工作屬性和輸出?
param($unit)
$p = $unit
Start-Job -Name $unit -ScriptBlock {
param($p)
"Hallo $p"
New-Object PSCustomObject -Property @{
Not_found = "agurk"
}
} -ArgumentList $p
當我這樣做:
PS> .\test 2 PS> $a=Get-Job|Receive-Job |Select-Object -Property Not_found
我不幸拿到
PS> $a.count 2
爲什麼2,而不是1?
而我所要做的
PS> $a[1].Not_found agurk
以獲取值。
我想創建一個子作業,它產生一些輸出,一個屬性,只有一個供調用者調查。我怎樣才能做到這一點?
好的,但是輸出是所需的,因爲調用者可能會將其指向輸出文件。但是調用者也想要檢測財產的價值。這是否意味着,他必須遍歷所有輸出來查找屬性對象?這聽起來很麻煩 – user2304458
如果你想能夠單獨地從返回的對象中重定向輸出,你需要把它寫到一個[不同的流](https://blogs.technet.microsoft.com/heyscriptingguy/2014/03/30/ Understanding-streams-redirection-and-write-host-in-powershell /),例如詳細流('Write-Verbose')。請注意,您需要PowerShell v3或更高版本才能重定向除成功和錯誤流以外的流。 –