私は、ファイルtest.ps1に子ジョブを持っている:子ジョブから1つのプロパティと出力を取得するにはどうすればよいですか?
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
を行う必要があります。
出力を生成する子ジョブを作成し、呼び出し側が調べるプロパティを1つだけ作成したいとします。それをどうすれば実現できますか?
[OK]をクリックします。ただし、出力が必要なのは、呼び出し元が出力ファイルに出力する可能性があるからです。しかし、呼び出し側はプロパティの値も検出したいと考えています。それは実際には、プロパティオブジェクトを見つけるためにすべての出力を反復処理する必要があるということですか?面倒なように聞こえます – user2304458
返されたオブジェクトと別に出力をリダイレクトできるようにするには、[別ストリーム]に書き込む必要があります(https://blogs.technet.microsoft.com/heyscriptingguy/2014/03/30/理解ストリームリダイレクションとライトホストのパワーサル/)、例えば冗長ストリーム( 'Write-Verbose')。 SuccessおよびErrorストリーム以外のストリームをリダイレクトできるようにするには、PowerShell v3以降が必要です。 –