
私は実行可能ファイルをチェックするPowerShellスクリプトを書きました。<アクション>タスクディレクトリ内の各タスクにタグを付け、< 有効 >TRUE または FALSE< / 有効 >実行可能ファイルのデジタル署名の有効性に応じて、タグを false/true として返します。各タスクを読み取った後、スクリプトは同じ名前、タイプ、場所でタスク ファイルを再保存します。
問題は、タスク スケジューラを起動すると次のメッセージが表示されることです。
「タスク XYZ: タスク イメージが破損しているか、改ざんされています。」
このメッセージは、スキャンされて保存されたすべてのタスクに対して表示されます。
タスクの XML ファイルを編集すると、タスクが直接破損しますか? このエラーの原因となる可能性のあるタスクの欠陥はありますか (例: レジストリ値)?
答え1
これはセキュリティ機能です。人または悪意のあるプログラムがタスク ファイルを編集し、その場所を悪意のあるプログラムに挿入する可能性があります。Windows はタスク ファイルのさまざまな属性とコンテンツのハッシュを作成し、それをレジストリに保存します。保存されたハッシュが計算されたハッシュと異なる場合、Windows はタスクの実行を阻止します。
このような操作を実行したい場合は、タスクを削除し、タスクを無効に設定して再作成してください。
答え2
元のタスクをエクスポートし、エクスポートした XML ファイルを変更します。別のコンピューターにインポートするか、元のタスクを削除してから、新しく変更したタスクをインポートします。
答え3
回復するには、いつでもインポートを実行して、それらの XML ファイルを新しいタスクとしてインポートできます。(ファイル名を .xml に変更する必要がある場合があります)
答え4
XML ファイルには、一般的なエディター (メモ帳、テキストパッドなど) では処理できない非 ASCII 文字で構成される 2 バイトのプレフィックスがあります。編集によってこれらの 2 バイトが破壊されると、ファイルをインポートできなくなります。