Win10 ワークステーションに 2 つのスケジュールされたタスクを与える GPO があります。
タスク 1 は C:\Program Files\Windows Defender\MpCmdRun.exe -removedefinitions -dynamicsignatures を実行します。
タスク 2 は C:\Program Files\Windows Defender\MpCmdRun.exe -SignatureUpdate を実行します。
どちらも、ユーザーがログインしているかどうかに関係なく、最高の権限を持つ SYSTEM で実行されます。
ワークステーションは、この GPO から両方のタスクを正常に取得します。タスク 1 はタスク 2 の数分前に実行されます。これらは関連しており、この順序で実行する必要がありますが、タスク 1 が実際に完了するまでに約 30 秒かかります。
すべてのワークステーションはタスク 1 を正常に実行し、定義を吹き飛ばします。
ただし、ワークステーションは、そのまま放置するとタスク 2 を実行できません。
タスク2は、タスク1と同様に、ユーザーがログインしているかどうかに関係なく、システムとして実行されるように設定されています。ただし、ランダムな時間にスケジュールすると(何度も試しました)、スケジュールされたタスクは常に開始され、エラーコード0x2(ファイルが見つかりません)で1秒以内に終了します。ランダムなワークステーションのタスク履歴では、「戻りコード2147942402」というエントリが見つかることがあります。また"ファイルが見つかりません"。
問題のファイルはタスク 1 で見られるものとまったく同じであり、失敗コードを返さないため、混乱を招きます。
ここで、同じ障害が発生したワークステーションでタスクを右クリックして [実行] をクリックすると、両方とも正常に完了します。コマンドを手動で実行することもできます。さらに、1 日のどこかの時間にまったく同じタスクをスケジュールし、スケジュールされたタスクが開始される予定の時間までサンプル ワークステーション (またはワークステーション) にログインしたままにしておくと、ユーザーの介入なしにタスクが正常に実行されます。
したがって、誰も監視していない場合はタスク 2 は実行されませんが、誰かが手動で実行するか、たまたまログインしている場合は実行されます。両方のタスクがシステムであり、誰かがログインしているかどうかに関係なく実行が許可されているにもかかわらず、これが実行されます。
この時点では、2 つのタスクの唯一の違いはいくつかのフラグだけなので、かなり混乱しています。タスクが実行されるということは、タスクが正しく設定されていることを示していますが、それでも、誰かがログインしていないと、これらのうちの 1 つしか実行されません。
これに関して、私が従うべき何らかの手がかりを持っている人はいますか?
答え1
何が見つからないのか具体的には言えませんが、見つける方法については言えます。アプリケーションがエラー2を正しく渡している場合(これはエラー5/53/4/その他の偽装である場合もあります)、sysinternalsのprocmonを使用します。https://learn.microsoft.com/en-us/sysinternals/downloads/procmon失敗したタスクを実行し、プロセス名でプロセスをフィルタリングし、すべてのファイル イベントを調べて、何が試行され、何が失敗したかを確認します。この方法は、回答ではないにしても、少なくとも詳細情報に導くことができます。