タスク スケジューラ: 「起動時に実行」がコールド ブートでは機能しない

タスク スケジューラ: 「起動時に実行」がコールド ブートでは機能しない

Windows 10 のタスク スケジューラで「システム起動時」にタスクを実行するようにスケジュールすると、再起動時にタスクは正常に実行されます。ただし、シャットダウンを選択し、コンピューターの電源ボタンでシステムをオンにすると、タスクは実行されません。

タスク プロパティの [履歴] タブにも、システムのコールド ブート時間に関連する記録は含まれません。

何が問題なのでしょうか?

答え1

これは、Windows 10 の高速スタートアップ機能によるものです。

「シャットダウン」では、Windows 10 はデフォルトでカーネルを休止状態にします。その後の「コールド ブート」は、実際にはカーネルのみの休止状態からの再開です。直感に反して、「再起動」は実際のコールド ブートにつながります。

休止状態を無効にする代わりに、「休止状態からの再開」イベントでタスクをトリガーできます。

ここに画像の説明を入力してください

何らかの理由で、タスクを正しくトリガーするには、「カスタム」オプションを使用する必要がありました。何かが機能しない場合に備えて、XML のトリガーを以下に示します。

    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="System"&gt;&lt;Select Path="System"&gt;*[System[Provider[@Name='Microsoft-Windows-Power-Troubleshooter'] and EventID=1]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
    </EventTrigger>

Microsoft コミュニティ スレッド: Windows 7 では機能していたスケジュールされた「起動時」タスクが、Windows 10 へのアップグレード後に機能しなくなりました

答え2

次の解決策が私の場合は有効でした。休止状態を無効にします。

Run Command Prompt as Administrator
Execute following command:
powercfg.exe /h off

それでも問題が解決しない場合は、次の手順として高速スタートアップを無効にすることが考えられます。

関連情報