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
gefragt vor einem Jahr253 Aufrufe
1 Antwort
1
Akzeptierte Antwort

現状は親プロセス(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
beantwortet vor einem Jahr
  • Wasa T様 解決策のご回答ありがとうございます。 無事、Run Commandの実行時間に子プロセスの終了が反映されるようになりました!

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen