PowerShell的:如何使用调用命令

问题描述:

这里是有关代码来检查批处理文件的良好执行远程计算机上:PowerShell的:如何使用调用命令

$op=invoke-command -computername test -scriptblock{ 
     & "cmd.exe" /c c:\temp\psbatch.bat 2>&1 
     $LASTEXITCODE 
    } 
if ($op - eq 0) {echo "success"} 
else {echo "failure"} 

的问题是,如果我的批量呼应的东西,输出将是在$ op中捕获所以它不会等于0.

如何处理?

你可以尝试这样的事情:

$op=invoke-command -computername test -scriptblock{ 
    & "cmd.exe" /c c:\temp\psbatch.bat 2>&1 
    $LASTEXITCODE 
} 
if (@($op)[-1] -eq 0) {echo "success"} 
else {echo "failure"} 

强制的结果到一个数组,然后测试刚刚过去的线,这将是最后一个退出代码。之前回应的任何内容都将被忽略。

+0

是的,这应该都很好!谢谢 –