在Powershell中使用Invoke-Command时,如何在本地显示远程exe的输出?

时间:2017-03-08 22:08:18

标签: powershell

我有以下脚本块:

$scriptBlock = {Start-Process ping.exe -ArgumentList localhost -Wait -NoNewWindow -PassThru}

注意:我正在使用一个进程,因为我希望能够设置执行exe的工作目录。

如果我在本地调用它:

Invoke-Command -ScriptBlock $scriptBlock

我显示完整的ping输出。但是当我像这样远程调用它时:

Invoke-Command -ComputerName RemoteComputerName -ScriptBlock $scriptBlock

我没有看到任何ping输出。如何让远程输出在本地显示?

1 个答案:

答案 0 :(得分:4)

删除Start-Process并直接调用命令:

$scriptBlock = {ping.exe localhost}

或通过call operator

$scriptBlock = {& ping.exe localhost}

如果需要从特定目录运行命令,只需在运行命令之前切换到该目录:

$scriptBlock = {
  Set-Location 'C:\some\folder'
  & ping.exe localhost
}