Actualmente tengo el siguiente Invoke-Command:

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

Tenga en cuenta que la salida de Invoke-Command se coloca en la variable $arq.

Ahora necesito hacer algo como esto:

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

Necesito la salida de commandTwo en otra variable / archivo.

Hay alguna manera de hacer esto?

1
Danilo Neto 27 sep. 2019 a las 14:57

1 respuesta

La mejor respuesta

Cree una sesión de PowerShell y ejecute cada comando con una declaración Invoke-Command separada en la misma sesión:

$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

Tenga en cuenta que > $arq no escribe la salida en la variable $arq, sino en un archivo con el nombre del valor de esa variable.

4
Ansgar Wiechers 27 sep. 2019 a las 12:10