0

這裏是有關代碼來檢查批處理文件的良好執行遠程計算機上: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.

如何處理?

回答

1

你可以嘗試這樣的事情:

$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

是的,這應該都很好!謝謝 –