執筆時点で利用可能な唯一のオプションは、「タスクを開始する」ことです。
シャットダウンする前にタスクスケジューラでタスクを実行する方法はありますか?
これは古いスレッドですが、私が考案した、うまく機能するソリューションを追加したいと思います。
シャットダウンまたは再起動が開始されるたびにスクリプトまたはバッチファイルを実行したかったのですが、グループポリシーのシャットダウンスクリプト機能を使用したくありませんでした。この理由はかなり詳細でしたが、基本的に、特定のサービスを閉じる前にスクリプトを実行する必要がありました。
私は次のようにスケジュールされたタスクを作成することになりました:
ユーザーまたはコマンドがログオンユーザーとして、またはユーザーに代わってシャットダウンまたは再起動を開始すると、イベントID 1074が発生します。これを使用してスクリプトをトリガーするタスクを作成すると、スクリプトが開始されて終了できるようになりますが、ログではタスクが「実行中」または「トリガー済み」としてのみ報告されます。私は長いスクリプトでこれを使用していませんので、さらにテストする価値があるかもしれませんが、短いスクリプトではうまく機能します。
Windows 7では、 グループポリシーエディター を使用して シャットダウンタスク を作成できます。
タスクスケジューラは、シャットダウン時にタスクをスケジュールする機能に制限があります。同様の質問がスタックオーバーフローで尋ねられました( how-to-schedule-a-task-to-run-when-shutting-down-windows )。そこでの回答は、詳細に説明されており、それを処理するためのより良い方法である可能性があるグループポリシーエディターメソッドを含むタスクマネージャー。
タスクスケジューラは、グループポリシーエディタの代わりに使用できます。ただし、システムが再起動またはシャットダウンしている間(通常は数秒)実行される非常に短いタスクにのみ適しています。
さらに、タスクのステータスは次のようになる可能性があることに注意してください。
ユーザーがネットワークにログオンしていないため、要求されている操作は実行されませんでした。指定されたサービスは存在しません。 (0x800704DD)
ただし、実行されなかったという意味ではありません。