我正在开始一项工作,我需要在工作完成之前接收输出。它使用 write-host 而不是 write-output,我知道当我使用 write-output 时这应该不会有问题,但假设我需要使用 write-host。
举个例子,我有一份工作
$job = Start-Job -Name $taskId -ScriptBlock { Write-host "This is the job output, there is a keyword"; start-sleep 2 }
我需要检索控制台输出并检查其中的关键字,因此我使用receive-job
$result = Receive-Job -Job $job -Keep -ErrorAction SilentlyContinue *>&1
我使用 *>&1 来捕获每个输出。但我需要抑制控制台输出并仅将输出分配给变量。不幸的是,我无法抑制控制台日志。使用 Out-Null 也无法填充变量。
有办法吗?
谢谢