我正在尝试在远程会话中运行 exe,并在执行后访问结果
如果我在本地尝试:
Invoke-Command -ScriptBlock { Start-Process -FilePath ping -ArgumentList "1.1.1.1 -n 5 -w 3000" -NoNewWindow -Wait -PassThru }
该过程是长时间运行的ping:
Start-Process -FilePath ping -ArgumentList "1.1.1.1 -n 5 -w 3000" -NoNewWindow -Wait -PassThru
我得到输出,它等待。但是如果我将相同的命令应用于会话(在创建 New-PSSession 之后)
Invoke-Command -Session $serviceSession -ScriptBlock { Start-Process -FilePath ping -ArgumentList "1.1.1.1 -n 5 -w 3000" -NoNewWindow -Wait -PassThru }
它立即返回。我如何得到这个结果。我真的很想使用 Start-Process,因为我可以从进程中访问 ExitCode。我发现 $LASTEXITCODE 对于我想使用的 exe 不可靠。