如何将多个命令用于具有多个输出的 Invoke-Command

How to use multiple commands into Invoke-Command with multiple outputs

目前我有以下Invoke-Command:

Invoke-Command -ComputerName $i -ScriptBlock ${Function:query} `
    -Credential oracle -ArgumentList $metconexao,$dumpdir,$i > $arq

意识到 Invoke-Command 的输出被放入 $arq 变量。

现在我需要做这样的事情:

Invoke-Command -ComputerName $i -ScriptBlock ${Function:query, commandTwo} `
    -Credential oracle -ArgumentList $metconexao,$dumpdir,$i > $arq > outputTwo

我需要 commandTwo 在另一个 variable/file 中的输出。

有什么办法吗?

创建 PowerShell 会话并 运行 每个命令在同一会话中使用单独的 Invoke-Command 语句:

$s = New-PSSession -Computer $i -Credential oracle
Invoke-Command -Session $s -ScriptBlock ${function:query} -ArgumentList $metconexao,$dumpdir,$i > $arq
Invoke-Command -Session $s -ScriptBlock { commandTwo } -ArgumentList $metconexao,$dumpdir,$i > outputTwo

请注意,> $arq 不会将输出写入 变量 $arq,而是写入以 那个变量。