У меня есть ребенок работу в файле 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/ stream-streams-redirection-and-write-host-in-powershell /), например многословный поток ('Write-Verbose'). Обратите внимание, что PowerShell v3 или новее необходимо перенаправить потоки, отличные от потоков Success and Error. –