Sleep を明記したbatの結果がSystems ManagerのRun Command履歴に反映されない。

0

WindowsOS環境下で、Sleepコマンドを明記しているbatファイルをSystems ManagerのRun Commandで実行させています。

しかし、下図の通り、Run Commandの履歴を見ると、開始時刻、終了時刻にSleepコマンドの内容が反映されず、

数秒で終了しています。

正確な処理結果を得る方法はありますでしょうか。ご協力をお願いします。

コマンド履歴

batファイル内容

powershell sleep 60
echo "Hello, World!!" >test2.txt
dir
質問済み 1年前250ビュー
1回答
1
承認された回答

現状は親プロセス(Run Command)が、子プロセス(batファイルの実行)を待てていないために、正確な実行時間を取得できていないのだと思います。

これを解決するためには、親プロセスが子プロセスを待つ必要があります。 具体的には、batファイル実行時に、Start-Processコマンドレットを使用し、-Waitオプション[1]を付与することで子プロセスの実行終了を待つことができると考えられます。

"AWS-RunPowerShellScript"のCommandsにて以下のような形でbatファイルを実行すれば、batファイルの実行終了を待つことができます。

Start-Process -Wait C:\Users\Administrator\test.bat

上記のような方法でbatファイルを実行することにより、Run Commandの実行時間に子プロセスの終了が反映されるかお試しください。

[1] Start-Process (Microsoft.PowerShell.Management ) - PowerShell | Microsoft Learn https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/start-process?view=powershell-7.3#-wait

AWS
Wada_T
回答済み 1年前
  • Wasa T様 解決策のご回答ありがとうございます。 無事、Run Commandの実行時間に子プロセスの終了が反映されるようになりました!

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン