我的问题与这个问题非常相似,不过我尝试使用Invoke-Command来捕获ScriptBlock的返回代码(所以我不能使用-FilePath选项)。这是我的代码:
Invoke-Command -computername $server {\\fileserver\script.cmd $args} -ArgumentList $args
exit $LASTEXITCODE
问题是Invoke-Command无法捕获script.cmd的返回代码,因此我无法知道它是否失败。我需要知道script.cmd是否失败。我也尝试过使用New-PSSession(它可以让我在远程服务器上看到script.cmd的返回代码),但我找不到任何方法将其传递回我的调用PowerShell脚本以实际处理失败情况。
$remotelastexitcode = invoke-command -ScriptBlock { cmd /c exit 2; $lastexitcode} -Session $remotesession
这段代码吗?由于你正在使用会话来执行多个命令,所以可能可以避免出现问题。 - manojldsremove-pssession $remotesession
关闭会话!因为通常涉及凭据... - Beccari