問題描述:

啟動排程時出現[Task reboot:the task image is corrupt or has been tampered with]的訊息。

解決方法:

此問題特別有可能發生在下列狀況中:

  1. 您電腦執行的是 Windows Vista 或 Windows Server 2008。
  2. 您安裝了安全性更新 2305420。
  3. 您升級為 Windows 7 或 Windows Server 2008 R2 的發行版本 (RTM)。
  4. 您在 Windows 7 和 Windows Server 2008 中安裝了 Service Pack 1 (SP1)。


如何避免此問題:

  • 請直接從 Windows Vista 或 Windows Server 2008 升級為內含 SP1 的 Windows 7 或 Windows Server 2008 R2 版本。
  • 您升級為 Windows 7 或 Windows Server 2008 R2 的 RTM 版本之後,請先安裝安全性更新 2305420 再安裝 SP1。

若要修復損毀的工作,請依照下列步驟執行:

步驟 1:在登錄及工作排程器中找出損毀的工作參考
如果要執行這項操作,請依照下列步驟執行:

  1. 開啟工作排程器。
  2. 展開左窗格中的 [工作排程器程式庫] 樹狀目錄,並找到包含損毀工作的資料夾。記下損毀工作的位置。您稍後將需要在此程序中用到此資訊。
  3. 找出與下列其中一個登錄子機碼中損毀工作對應的登錄子機碼。您可以藉由搜尋工作名稱來找到子機碼:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree

    按一下與損毀工作對應的登錄子機碼,然後記下 "Id" 項目中的 GUID 值。例如,{2911FBBD-A0AA-4A79-A8EE-84EF7555A71B}。您在此程序的下一個步驟中將需要用到此資訊。

  4. 找出與下列三個登錄子機碼其中之一中的損毀工作對應的登錄子機碼。如果要找到此子機碼,請搜尋您在上一個步驟記下的 GUID 值。例如 {2911FBBD-A0AA-4A79-A8EE-84EF7555A71B}。此工作將只存在於下列三個位置其中之一:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Plain

    或:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Logon

    或:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Boot

    請記下損毀工作的登錄位置。您稍後將需要在此程序中用到此資訊。

步驟 2:建立損毀工作檔案的暫存複本
如果要執行這項操作,請依照下列步驟執行:

  1. 在 Windows 檔案總管中開啟下列資料夾: %SYSTEMDRIVE%\Windows\System32\Tasks\<Corrupted_Task_Name>
  2. 找到與損毀工作對應的工作檔案,然後將其複製到暫存位置。


步驟 3:清理損毀的工作
如果要執行這項操作,請依照下列步驟執行:

  1. [工作] 資料夾 (%SYSTEMDRIVE%\Windows\System32\Tasks) 中刪除與損毀工作對應的工作檔案。
  2. 從下列登錄子機碼中刪除與損毀工作對應的登錄子機碼:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree

  3. 從下列登錄子機碼中刪除與損毀工作對應的登錄子機碼。該工作將會是 GUID 格式。例如 {2911FBBD-A0AA-4A79-A8EE-84EF7555A71B}。
    注意請參閱您在此程序之前的步驟中所記錄的內容,來找出登錄資料夾。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks

  4. 從下列三個登錄子機碼的其中之一中刪除與損毀工作對應的登錄子機碼。此工作將只存在於下列三個位置其中之一且會是 GUID 格式。例如 {2911FBBD-A0AA-4A79-A8EE-84EF7555A71B}。
    注意 請參閱您在此程序之前所記下的內容,來找出登錄資料夾。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Plain

    或:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Logon

    或:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Boot

步驟 4:使用暫存備份複本重新建立工作
如果要執行這項操作,請依照下列步驟執行:

  1. 開啟工作排程器。
  2. 展開左窗格中的 [工作排程器程式庫] 樹狀目錄,然後開啟之前已包含損毀工作的資料夾。
    注意請參閱您在此程序之前的步驟中所記錄的內容,來找出該資料夾。
  3. 用滑鼠右鍵按一下之前已包含損毀工作的資料夾,然後按一下 [匯入工作]
  4. [開啟] 對話方塊中,選取 [所有檔案 (*.*)]。瀏覽至包含備份工作檔案的暫存資料夾,然後選取工作檔案。按一下 [開啟],即會建立新工作,且其會顯示於工作排程器中。

或者,您也可以使用下列命令列命令來還原備份工作: Schtasks.exe /CREATE /TN <New_Task_Name> /XML <Xml_File_Name>

參考資料:

MS10-092: Vulnerability in Task Scheduler could allow for elevation of privilege

http://support.microsoft.com/kb/2305420