![起動時に Windows 7 VM でスケジュールされたタスクを起動する](https://rvso.com/image/1325966/%E8%B5%B7%E5%8B%95%E6%99%82%E3%81%AB%20Windows%207%20VM%20%E3%81%A7%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%95%E3%82%8C%E3%81%9F%E3%82%BF%E3%82%B9%E3%82%AF%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B.png)
Windows 7 VM が再起動するたびに実行したいバッチ ファイルがあります。バッチ ファイルを C:\example.bat として作成しました (期待どおりに機能します)。また、タスク スケジューラで、起動時のトリガーとアクション「C:\example.bat の開始」を含むタスクを設定しました。現在、バッチ ファイルは起動時に想定どおりにトリガーされません。トリガーをログインに変更すると、バッチ ファイルはログイン時に想定どおりにトリガーされます。何が起こっているのでしょうか。
答え1
以前ここでテストしましたが、Windows の起動時にタスクをトリガーするときに遅延 (45 ~ 60 秒) を追加する必要があります。
スタートアップによってトリガーする場合、トリガーはデスクトップが実行される前に (すべての Windows 依存関係が起動される前に) タスクをロードします。これにより、スクリプトが実行されなくなります (特に、デスクトップを開くためにパスワードを入力する必要がある場合)。
ログオンによってトリガーする場合、タスクはデスクトップが完全に読み込まれた後(システム起動後にユーザー セッションが作成されたとき)に読み込まれます。これが、この条件下で動作する理由です。