現象: 有一臺Windows Server 2008 R2的伺服器打開任務計劃就會有如題的錯誤提示。 錯誤信息如標題所示“任務計劃程式服務不可用。任務計劃程式將嘗試重新與其建立連接。”,對應的英文是“task scheduler service is not available. task sche ...
現象:
有一臺Windows Server 2008 R2的伺服器打開任務計劃就會有如題的錯誤提示。
錯誤信息如標題所示“任務計劃程式服務不可用。任務計劃程式將嘗試重新與其建立連接。”,對應的英文是“task scheduler service is not available. task scheduler will attempt to reconnect to it”。
對於錯誤信息並沒有傳統意義上的紅色背景白色X的錯誤信息,僅僅是一個告警信息,並且提到了任務計劃程式服務,這就讓我聯想到任務計劃的服務是否此時工作異常。
通過檢查服務(services.msc)內的任務計劃服務(顯示名:Task Scheduler,服務名:Schedule),發現這個服務是一個不能被停啟的狀態。
Figure 1顯示“已啟動”的服務狀態,但是停啟不可控
隨後通過任務管理器,服務標簽下找到具體是哪一個svchost進程,發現這個svchost下有很多可以結束的非系統關鍵服務,因此我結束了這個svchost進程,隨後再去服務(services.msc)內查看任務計劃的屬性,此時是可控的狀態,進行啟動後再次打開任務計劃,問題依舊。
問題是這麼解決的:
雖然問題依舊,但是當我點擊確定之後,在任務計劃程式庫中依舊可以看到原有編寫的任務計劃,並且通過查看歷史,他們的工作狀態都是正常的。
Figure 2任務計劃程式服務不可用的提示信息
因此可以基本確定問題不在於任務計劃程式服務本身,通過中英文關鍵字搜索得到微軟的一篇KB2305420,雖然是介紹一個安全更新的後遺症處理方法,但是其中瞭解到了任務計劃程式的工作原理。
平時我們看到的任務計劃管理程式(taskschd.msc),實際上是綜合了註冊表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule)信息以及實際任務文件庫(%SYSTEMDRIVE%\Windows\System32\Tasks)的一個呈現。
因此解決問題的思路就從這兩點開始,首先到任務文件庫(%SYSTEMDRIVE%\Windows\System32\Tasks)下麵查看一下這些任務文件,微軟在此處對於破損文件的定義來自於0位元組任務文件和有錯誤標記的任務文件,因此尋找首先尋找有0位元組的任務文件。
Figure 3在“\Microsoft\Windows\SoftwareProtectionPlatform”路徑下可以看到一個0位元組的文件,我嘗試複製出該文件並打開,被告知無許可權
上面截圖是我想嘗試複製出來並打開的一個想法,但是這個文件被告知無許可權打開,好在我手上的伺服器資源較多,拷貝了一個該路徑下的文件。這個無尾碼名的文件實際上是xml文件結構的,因此本身是可以用記事本等文本編輯器打開的。
現在,我繼續打開任務計劃管理程式(taskschd.msc),按照路徑導航到這裡\Microsoft\Windows\SoftwareProtectionPlatform,可以看到問題復現了。
因為點擊確定之後我還是看不到任何任務,這個真的是那個0位元組的文件在搗亂,所以我又退回到Figure 3所示的位置,把這個壞文件刪除,用剛剛複製過來的好文件,在Figure 4界面下導入任務,多次刷新後,問題解決。
為了進一步判斷還有無其他問題原點,我多次關開了任務計劃程式,遍歷了所有的任務文件夾,發現問題已經解決乾凈了。
結語:
關於此次問題現象的一些總結:
è 由於任務計劃是依賴svchost進程啟動的服務,因此上述“錯誤”信息實際上不會對已有的好的任務計劃產生任何干擾
è 任務計劃程式本身只是一個管理界面,可以通過他查看任務計劃是否在觸發器啟動的時候執行對應腳本(歷史記錄標簽卡)
è 判斷任務計劃能否執行,需要確保服務(services.msc)內的任務計劃服務(顯示名:Task Scheduler,服務名:Schedule)正常運行,所配置環境變數是否正常,可以戳這裡看更多
è 仔細檢查註冊表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule)信息以及實際任務文件庫(%SYSTEMDRIVE%\Windows\System32\Tasks)相關的0位元組文件
相關可用信息連接:
https://kickthatcomputer.wordpress.com/2014/06/19/task-scheduler-service-is-not-available/
http://www.cnblogs.com/mannyzhoug/archive/2013/05/28/3104030.html
https://support.microsoft.com/zh-cn/kb/2305420
-=EOB=-