web-dev-qa-db-ja.com

PowerShellのスケジュールされたタスクは、一度完了しても常に実行中と表示されます

スケジュールされたタスクとして毎日実行するように設定されたPowerShellスクリプトがあり、次のアクションでセットアップされます。プログラムPowerShell.exeを実行する引数:-executionpolicy override -file D:\ Scripts\SomeScript.ps1

スクリプトは正常に完了し、タスクマネージャーでPowerShellの起動と終了を確認できますが、タスクスケジューラにはまだ実行中と表示されます。

これを修正する方法について何か提案はありますか?

1
Aaron O

スクリプトは構成されたすべてのことを実行していましたが、すべての引数を引用符で囲む必要があるようです。

古い引数(すべて正常に完了しましたが、タスクがハングしました):-executionpolicy override -file'D:\ Scripts\SomeScript.ps1 '

新しい引数(タスクを含め、すべてが正常に完了します): "-executionpolicy override -file'D:\ Scripts\SomeScripts.ps1 '"

この1台のサーバーで引用符が必要な理由がわかりません。保存バージョンのWindowsと同じバージョンのPowerShellを実行している複数のサーバーでこの正確なスクリプトを実行します。引用符はありませんが、機能します。

1
Aaron O

ちょっとした注意:タスクを手動で実行すると、タスクスケジューラライブラリの「実行中」に移動します。タスクが終了するまで待ってから、F5キーを押して更新します。

1
Sniipe