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
질문됨 일 년 전253회 조회
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
답변함 일 년 전
  • Wasa T様 解決策のご回答ありがとうございます。 無事、Run Commandの実行時間に子プロセスの終了が反映されるようになりました!

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인