いつもお世話になっております。
下記のような内容で、リモートでバッチを起動しようとしたところが、起動されたバッチがすぐに終了してしまいます。
PsExecでバッチファイル1.batを起動すれば問題はないのですが、Powershellで可能にしたいのでご指摘を頂ければと
思います。
【ps1ファイル】
$password = ConvertTo-SecureString "パスワード" -asplaintext -force
$cred = New-Object System.Management.Automation.PsCredential "ユーザーID",$password
$exitcode = invoke-command -ComputerName 192.168.0.1 -Credential $cred -authentication CredSSP -scriptblock {
$p=start-process cmd -ArgumentList "/c D:\バッチファイル1.bat" -PassThru
$p | Wait-Process
$p.ExitCode
}
【バッチファイル1.bat】
Set 環境変数=変数内容
call バッチファイル2.bat
【バッチファイル2.bat】
set 環境変数=変数内容
start /W /B /NORMAL 実行プログラム.EXE %*
※ 上記start命令から/Bのパラメータを外せば、ジョブは起動されているようです。
※ PowerShellでは、start命令の/Bのパラメータを認識していないのでしょうか?
/Bを付けた時とそうでないときの動作に違いはあるのでしょうか?
よろしくお願いいたします。