中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 服務器 > 
  • Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

發布時間:2020-09-30 00:34:29 來源:腳本之家 閱讀:729 作者:mdxy-dxy 欄目:服務器

最近遇見一個奇怪的現象,在做某系統的定期備份的時候使用到了非系統自帶Rsync命令,但是手動啟動沒問題,而且又非常期望批量化在多臺主機上進行,怎么辦呢?Windows Server 2003下面這樣執行任務計劃沒問題,而就Windows Server 2008 R2下面出現意外。

正常情況下我們的任務計劃會有反饋數值,通過它可以判斷這個任務計劃上次是否運行正常(詳細連接:http://support.microsoft.com/kb/267031/)。

· 代碼 0 或 0x0:操作成功完成。
· 代碼 1 或 0x1:調用的函數不正確或調用了未知函數。
· 代碼 10 或 0xa:環境不正確。
· 代碼 0x8009000f:常規訪問被拒絕

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

Figure 1看到上次運行結果出現非0情況
這種非〇情況表示的是不能被接受的。
通過對這個批處理設置斷點,我看到了這樣的報錯信息。

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

Figure 2在批處理中加入Pause 進行斷點,查看錯誤信息

很明顯,這個rsync不是系統自帶的程序和文件,因此無法被系統直接調用,猜測和環境變量有關,仔細尋找Windows Server 2008 R2 下面的任務計劃選項,我看到了這個填空的地方。

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

Figure 3起始于(可選)項

我將這個填寫成了該條腳本的所在的目錄,再次運行該任務計劃,得到返回成功的標記,并且在服務本分服務器端受到相應的備份內容。

這里回顧一下,兩個版本操作系統的任務計劃的不一樣,Windows Server 2003 下面可以選擇的內容,項目并不多,不過他默認的情況下會將起始于填寫進去,使用的就是所在腳本的上一級目錄。

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

Figure 4 Windows Server 2003 下面的起始于,默認被填寫

因此設置Windows Server 2008 ,2012這樣的基于Nt6核心的系統的任務計劃的時候建議將起始于進行一下設置。

以下是其它網友提供的方法

第二種解決方法:

1、創建任務計劃時,要在常規選項卡里選中“不管用戶是否登錄都要運行”、“使用最高權限運行”、配置選帶有“Windows Server 2008 R2”這三個選項,

2、在操作選項卡里的“起始于(可選)”要填上bat批處理文件所在目錄,windows 2003是在選擇bat批處理文件自動帶上的,而2008不會,雖然它提示是可選的,但是不填的話,執行會失敗;

3、所有信息都填寫完整后點確定時需要輸入運行此任務的用戶帳戶密碼;

第三種解決方法:

下面我貼一個完整的計劃任務圖示:

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

創建計劃任務

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

定制計劃任務執行時間

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

計劃任務操作一(此情況符合單個可執行程序或者腳本不調用數據庫情況下)

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

計劃任務操作二(此情況符合運行程序需要調用目錄數據庫情況、PS:這個通吃吧貌似j
后面默認即可

其問題就在于編輯操作的選項里面的起始于(可選)選項。
真正問題找出來覺得很諷刺呢
貼這個帖子是想給大家一個出現問題有據可查的建議。哈哈,自己也能做個標記以防忘記。

第四種解決方法:

今天在Windows Server 2008 里新建了一個定時任務,通過定時任務執行的bat文件中的sql命令

結果查看定時任務的歷史記錄,發現卡住了

提示已經啟動定時任務,但是bat中的操作一直沒有執行

剛開始懷疑bat文件中有錯誤,換成了最簡單的打開記事本的命令notepad,發現問題依然存在

后來發現有一個很有意思的地方,新建定時任務的時候,有2個選項:創建基本任務創建任務

之前是創建的基本任務,后來換成創建任務

然后,問題就解決了

第五種解決方法:

新建一個管理員帳號,然后用新帳號運行就可以了。

第六種方法:其實就是第二種方法的補充

解決辦法:

如圖:編輯任務 把批處理文件的起始位置加上如:在d:\aa.bat
那么起始位置就是:d:\ 注:路徑中不能有引號

Windows 2008 r2任務計劃程序執行批處理失敗問題解決方法

下面引用網上的東東:

批處理文件肯定是沒有問題,加入到計劃任務中,發現沒能正常備份,也沒有拷貝到網絡映射盤。
將bat文件輸出到文件,本想看看log的,結果居然沒有正常執行。

google了一下,發現很多網友都有類似的問題,但沒人給出答案。

很幸運的找到一篇微軟官方論壇上的網友討論的帖子,幾乎全部解決我的問題。

http://social.technet.microsoft.com/Forums/en-US/winservermanager/thread/d47d116e-10b9-44f0-9a30-7406c86c2fbe/ 很精彩的技術交流。

對我來說碰到了2個問題,

1, a.bat 是處理備份數據庫,b.bat 內容為 a.bat > D:/abc/1.log , 將b.bat 加入的計劃任務中,目的是想調試計劃任務是否成功。(手動單獨執行,每次都成功的)結果,是1.log不輸出,計劃任務中返回2; www.jb51.net

2,a.bat 中有把備份好的數據拷貝到網絡映射盤,比如Z盤,計劃任務每次都不執行,手動運行該腳本也是好的。

按照上面論壇給的提示:

2) Make sure that the task is set to "start in" the folder that contains the batch file: open the task properties, click on the "actions" tab, click on the action and then the "edit" button at the bottom. In the "Edit Action" Window there is a field for "start in (optional)" that you set to the path to the batch file.

在“操作”->"編輯操作"->“起始于(可選)" 中一定要填入該批處理的路徑。 這一招解決了第一個問題。

NET USE W: /DELETE
NET USE W: //myserver/myfolder /PERSISTENT:YES

這個是解決第二個問題的關鍵,在執行拷貝,或者建立新文件夾之前,先要進行如上兩行命令。 細節:確保在我的電腦界面通過菜單操作的網絡映射盤式斷開的;Windows server 2008 用戶管理頁面有個網絡密碼管理,如果填寫了,net use w: ... 這行命令就不需要輸入密碼和用戶名。

這一招解決第二個問題。

補充一點:批處理文件中和 ”起始于(可選)“中的路徑都不要使用 雙引號""

第七種方法:

使用windows server 2008 R2 的任務計劃程序需要啟動服務 Task Scheduler 服務,

windows server 2008 R2 默認狀態下Task Scheduler 服務是禁止的并且不可切換啟動類型,

解決方法:修改注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Schedule 下的start項數值為2

修改后重啟服務器,任務計劃程序就可添加使用。

第八種方法:

網絡環境:windows2003+windows2008.

描述:在win2003內使用映射驅動器Z:映射win2008的一個目錄,

在win2003中創建bat 文件copy Z:中的文件,并做任務計劃bat定時執行.

命令行直接執行bat沒有問題,執行任務計劃失敗.

最終的解決方法是參考下面的文章,在bat文件中添加:

NET USE Z: \\XXX.XXX.XXX.XXX\D$\XXXX "Password" /User:"Administrator"
----

另:win7下映射驅動器Z:,添加任務計劃執行bat文件 Copy Z:\...沒問題,

不存在需要手工添加命令net use的bug.
重啟Win7后,任務計劃消失,但其他程序創建的任務計劃存在,

最后通過排除法檢查發現是由于360軟件作怪!需要把bat 文件和job文件同時都加入白名單.

任務計劃無法正常運行批處理文件的幾種解決方法

Windows 任務計劃與 BAT 批處理文件都是我們經常使用的工具,一個可以幫助我們定期執行計劃的任務、

一個可以幫助我們一次執行一系列預先編好的命令。在 Windows 系統的維護工作中,我們經常需要將任務
計劃與批處理配合起來使用,即通過設置任務計劃定期執行批處理文件定義的一系列命令與操作。

有時候,我們可能會遇到任務計劃與批處理無法正常協同工作的情況。例如,一個同樣的批處理文件,我們
可能手動運行它時一切正常(說明批處理文件的內容沒有錯誤),但將這個批處理文件添加為任務計劃后卻
無法按照預期運行。筆者在微軟中文論壇收集了幾種解決任務計劃與批處理無法協同工作的方法,希望可以
幫助大家在遇到類似問題時參考。

1. 在任務計劃中正確設置執行批處理的用戶身份與權限。

當我們在任務計劃中添加新任務時,其中有一個步驟是指定運行此任務的用戶帳戶,并需要輸入用戶帳戶的
密碼進行確認。如果任務計劃設置的用戶帳戶身份或權限,與我們手動運行批處理文件時的用戶帳戶不同,
就可能會出現以任務計劃方式運行批處理的結果與手動運行同樣的批處理時結果不同的現象。

例如,假設一個批處理涉及的命令需要管理員權限或者特定用戶帳戶的配置文件才可以正常運行,如果執行
此批處理的任務計劃被指定為一個非管理員帳戶或不具備相應用戶配置的用戶帳戶,那么此批處理很可能在
以任務計劃的方式運行時無法得到其預期的效果。因此,當我們在添加任務計劃并希望以另一個用戶帳戶的
身份與權限運行批處理時,一定要在添加新任務向導中檢查運行批處理的用戶帳戶身份與權限是否滿足運行
此批處理的要求。

2. 通過快捷方式為批處理指定起始位置。

有些批處理文件需要我們為其設置好特定的“起始位置”才可以正常運行,否則可能會遇到批處理無法找到
指定路徑的錯誤。當我們手動執行批處理時,無論是在資源管理器中用鼠標雙擊運行批處理,還是首先打開
命令提示符窗口、然后再在命令提示符中執行批處理,資源管理器當前打開的文件夾位置與命令提示符當前
所在的提示符位置都已經自動為我們設置好了執行批處理時的起始位置。然而,當我們以任務計劃方式執行
批處理時,任務計劃卻無法自動指定執行批處理時所需的起始位置,這樣也可能會造成以任務計劃方式執行
批處理時無法得到預期的效果。

為了解決這一問題,我們可以首先為批處理文件建立一個快捷方式,然后修改快捷方式的屬性,在“常規”
選項卡中設置正確的“起始位置”,接下來我們再添加任務計劃,將新任務指定為這個快捷方式文件而不是
批處理本身。這樣,任務計劃會在任務指定的時間自動執行指向批處理的快捷方式,對應的批處理在運行時
就具有正確的起始位置了。

3. 盡量避免在批處理內容中出現過多的引號。

如果在批處理文件的內容里出現了過多的引號,即批處理中有一條或多條命令及參數被引號擴起來,這不僅
可能在編寫批處理命令時容易出錯,而且可能會造成特定版本 Windows 的任務計劃無法正確識別批處理中
包含的命令。特別是在一個父級引號中還有子級的引號時,尤其容易出現此類問題。

根據微軟知識庫 KB951246 提供的信息,這個問題主要存在于 Windows Vista/Server 2008 系統。
 
4. 將批處理文件轉換為可執行文件或腳本后再添加任務計劃。
 
有時當任務計劃無法正確執行批處理文件的部分內容時,我們還可以嘗試將批處理轉換為其它格式的可執行
文件或腳本,然后再添加至任務計劃。轉換格式雖然執行的命令與任務不變,但將批處理轉換為可執行文件
或腳本可以改變任務運行的順序與方式,有時說不定可以解決問題。
 
批處理常見的格式轉換包括將 .BAT 文件轉換為 .EXE 或 .COM 可執行文件,或者轉換為 .VBS 腳本,這類
轉換可以通過 BAT2EXE、BAT2COM、BAT to EXE Converter、批處理加密轉換器等第三方軟件實現。
5. 在批處理中添加為正常運行后續命令所需的先決命令。
如果我們遇到了一些比較極端的批處理與任務計劃無法協同工作的問題,無論怎樣在任務計劃的運行環境中
設置都不能解決,那么可以考慮將一些正確完成批處理命令所需的先決命令添加在原批處理內容的最前面,
在批處理自身的層面加以解決。
 
例如,筆者最近在微軟中文論壇見到一則問題:有位用戶編寫了一個備份開發代碼的批處理,并將其添加為
任務計劃,希望在每天凌晨時自動運行。但是,這個批處理涉及的文件備份與復制操作需要訪問 $IPC 網絡
映射地址。經測試,用戶編寫的批處理內容沒有問題,如果手動運行批處理,可以正確地訪問目標地址并且
完成備份;但如果將此批處理添加為任務計劃就無法正確執行備份與復制操作。設置任務計劃的用戶權限、
設置起始位置、對批處理進行格式轉換等方法均無法解決。最終解決這個問題的方法是在批處理內容的前面
添加了一條:

NET USE Z:\\XXX.XXX.XXX.XXX\D$ "Password" /User:"Administrator"

將批處理正常訪問映射地址的先決命令寫在原批處理文件內容的前面,最終這個批處理文件就可以通過任務
計劃方式正常運行了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海盐县| 万宁市| 北安市| 中方县| 商水县| 家居| 南木林县| 祁阳县| 武夷山市| 洮南市| 交口县| 巴青县| 桑植县| 高淳县| 肇庆市| 定日县| 北宁市| 商河县| 澄江县| 绿春县| 花莲市| 康马县| 潼关县| 韩城市| 吉木萨尔县| 明水县| 灵石县| 元氏县| 富宁县| 上饶县| 涟水县| 黎城县| 沙坪坝区| 永丰县| 灯塔市| 海晏县| 乐陵市| 阿克陶县| 苍山县| 合山市| 尖扎县|