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 年前255 查看次数
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の実行時間に子プロセスの終了が反映されるようになりました!

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则