帶有 GUI 問題的計劃任務
當任務具有 GUI 時,在 Windows 2003 中執行計劃任務是否存在問題?我有一個在 Windows 2000 中執行良好,但在 Windows 2003 中無法執行。
細節:
我有一個 .bat 作業,多年來在一台舊的 Windows 2000 伺服器上全天每小時執行一次。上週我終於退役了那台伺服器,並將工作(以及相關的程序和文件)移到了 Windows 2003 伺服器上。
.bat 文件首先呼叫幾個 cmd 行應用程序,但最後一步是基於 GUI 的 .NET 應用程序(它對圖像文件執行一些 OCR,然後自行關閉)。
在新伺服器上,以計劃任務所有者身份登錄,我可以從命令行成功執行 .bat 文件。
在新伺服器上,再次以計劃任務所有者身份登錄,我可以右鍵點擊計劃程序中的任務並成功執行它。此任務只是執行相同的 .bat 文件。
如果計劃任務所有者登錄到 2003 伺服器並且從遠端伺服器(使用者啟動計劃任務並連接到此伺服器)啟動任務,它也會成功執行。
如果計劃任務所有者未登錄到此伺服器,則計劃任務在啟動 GUI 應用程序的步驟中失敗。我們無法收到任何錯誤消息。從監視該使用者帳戶的不同會話/使用者帳戶執行 ProcMon 也沒有出現任何問題。
目前,我可怕的解決方法是讓計劃任務所有者在螢幕鎖定的情況下登錄控制台。當然,每次重新啟動伺服器時,這都會變得很痛苦……
計劃任務所有者是我們的“域服務帳戶”,正在處理所有其他伺服器上的所有其他任務。它沒有被鎖定或類似的東西。
我什至嘗試修改任務計劃程序以檢查“允許服務與桌面框互動”,但這並沒有改變任何東西。(是的,我在更改後重新啟動了服務。)
想法?
更新(2010 年 1 月 19 日)**
我需要澄清一下:我提到的 .NET 應用程序做了很多工作。直到它需要打開一個視窗,應用程序才會掛起。我們可以通過它留下的日誌條目看到應用程序的進度,因此我們可以看到它執行良好,最後一個日誌條目是“即將啟動 OCR”……這就是她掛起的地方。
您是否有權訪問該程序的原始碼以進行調試?聽起來windows創建失敗了,因為除非任務所有者登錄到機器,否則程序沒有可用的windows桌面。這篇文章http://msdn.microsoft.com/en-us/library/ms687105%28VS.85%29.aspx描述了視窗站和桌面創建的過程。
任務設置是否在特定目錄中啟動?在它正在讀取/寫入的那些目錄中正確設置了權限..
我假設任務中的“執行方式”設置正確(必須檢查基礎知識!:))
您是否檢查以確保帳戶正在執行任務被授予“作為批處理作業登錄”的權限(本地安全策略\本地策略\使用者權限分配\作為批處理作業登錄)