2011年11月21日 星期一

Windows 排程指令 SCHTASKS

如果您設排程, 使用指令的方式來下達, 
好處:
1. 移機時也方便把排程帶到別台主機上.
2. 可以動態產生相關的排程工作.


排程工作被產生之後, 會在 c:\Windows\Tasks\ 的隱藏目錄下增加一個 taskname.job
把 taskname.job 複製出來, 就可以拿到別台主機上去使用了, .job 拿到別台主機記得要重新設定一下執行帳號及密碼, 因為可能不太一樣.

--------------------------------------------------

SCHTASKS /parameter [arguments]

描述:
    讓系統管理員能夠在本機或遠端系統上建立、刪除、查詢、
    結束排程工作。取代 AT.exe

--------------------------------------------------

SCHTASKS  /query /fo csv /v > tasklist.csv

描述:
    查詢目前所有的排程, 輸出到文字檔 tasklist.csv。

--------------------------------------------------

SCHTASKS /Create [/S system [/U username [/P [password]]]]
    [/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]
    [/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]
    [/RI interval] [ {/ET endtime | /DU duration} [/K] ]
    [/SD startdate] [/ED enddate] [/IT] [/Z] [/F]


描述:
   讓系統管理員可以在本機或遠端系統上建立排程工作。

參數清單:
    /U           username          指定要執行命令的使用者內容。

    /P           password          指定使用者密碼。

    /RU          username          指定要執行工作的使用者
                                   帳戶 (使用者內容)。
                                   系統帳戶的有效值是
                                  "","NT AUTHORITY\SYSTEM" 或
                                   "SYSTEM"。

    /RP          password          指定排程執行頻率。
                                   如果要詢問密碼,參數值必須
                                   設定成 "*" 或不設定。

    /SC          schedule          指定排程執行頻率。
                                   有效的排程類型: MINUTE,HOURLY,
                                   DAILY,WEEKLY,MONTHLY,ONCE,
                                   ONSTART,ONLOGON,ONIDLE。

    /MO          modifier          重新調整排程類型,
                                   來改善週期性的排程控制。
                                   有效值列在下列的 "Modifiers"
                                   區段中。

    /D           days              指定工作執行的日期。
                                   有效值是: MON,TUE,WED,
                                   THU,FRI,SAT,SUN。還有
                                   MONTHLY 排程 1 - 31 (以月份
                                   為主的天數)。

    /M           months            指定排程工作的月份。
                                   預設值是每月的第一天。
                                   有效值是: JAN, FEB, MAR,
                                   APR, MAY, JUN, JUL, AUG, SEP, OCT,
                                   NOV, DEC.

    -i           idletime          指定閒置時間的長短,
                                   過了這個時間就會執行排定的
                                   ONIDLE 工作。
                                   有效範圍是: 1 - 999 分鐘。

    /TN          taskname          指定可以用來識別
                                   這個排程工作的唯一性名稱。

    /TR          taskrun           指定這個排程工作執行
                                   程式的路徑及檔案名稱。
                                 
                                   範例: C:\windows\system32\calc.exe

    /ST          starttime         指定工作的執行時間。
                                   時間格式是 HH:MM (24 小時制)
                                   範例,14:30 代表2:30 PM。

    /SD          startdate         指定工作第一次執行
                                   的日期。格式是 yyyy/mm/dd。
                                   預設成目前的日期。
(這不適用於以下排程類型: ONCE、ONSTART、ONLOGON 和 ONIDLE。)

    /ET          endtime           指定執行工作的結束
                                   時間。時間格式是 HH:MM
                                   (24 小時制) 範例: 14:50 代表下午 2:50。
(這不適用於以下排程類型: ONSTART、 ONLOGON、和 ONIDLE。)

    /ED          enddate           指定工作最後一次執行的日期。
                                   格式是 "yyyy/mm/dd"。

(這不適用於以下排程類型: ONCE、ONSTART、ONLOGON 和 ONIDLE。)

    /Z                             如果不須再次執行工作
                                   請將它刪除。

    /F                             如果指定的工作已經存在,
                                   則強制建立工作
                                   和抑制警告。

    /?                             顯示這個說明訊息。


修飾元: 每個排程類型的/MO 參數有效值:
    MINUTE:  1 - 1439 分鐘。
    HOURLY:  1 - 23 小時。
    DAILY:   1 - 365 天。
    WEEKLY:  1 - 52 週。
    ONCE:    沒有修飾元。
    ONSTART: 沒有修飾元。
    ONLOGON: 沒有修飾元。
    ONIDLE:  沒有修飾元。
    MONTHLY: 1 - 12 或 FIRST,SECOND,THIRD,FOURTH,LAST,LASTDAY。

----------------------------------------
Examples:


Ex: To schedule a task to run every 20 minutes
schtasks /create /sc minute /mo 20 /tn "Security Script" /tr "\"d:\test.bat\" 123" /rU administrator /rP ********

Ex: 每10分鐘執行某一個網址, 用來批次重新計算某些數值.
schtasks /create /sc minute /mo 3 /tn "compute_node_counter" /tr "D:\元件\tinyget.exe -srv:\"www.mysite.com.tw\" -uri:\"/mytask/ws/computeNodeCounter.asp\"" /rU administrator /rP ********

Ex: MyApp 程序在每天的 8:00 A.M. 運行一次。每天運行命令。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc daily /st 08:00:00

Ex: Create a task to run at 11 pm every weekday
SCHTASKS /Create /SC weekly /D MON,TUE,WED,THU,FRI /TN MyDailyBackup /ST 23:00:00 /TR c:\backup.cmd /RU MyDomain\MyLogin /RP MyPassword

Ex: delete a job.
SCHTASKS /Delete /TN "Security Script" /f

----------------------------------------

附註 1: 如果你用的是Win 2003 Server 中文版,daily、weekly、monthly的指令必須轉成中文。

Daily: 每日
Weekly: 每週
Monthly: 每月


例如:
D:\>schtasks /create /sc DAILY /mo 1 /tn "檢查庫存 0200" /tr "checkstock.exe" /rU administrator /rP *********
錯誤: 指定的排程類型不正確。
請輸入 "SCHTASKS /CREATE /?" 來查閱使用方式。

D:\>schtasks /create /sc 每日 /tn "檢查庫存 0200" /tr "checkstock.exe" /st 08:00 /rU administrator /rP ********
成功: 排程工作 "檢查庫存 0200 (2011)" 已成功建立。


附註 2: 有些主機, 使用的 time format 是 hh:mm:ss.

附註 3: 有些主機, 使用的 date format 可能是 mm/dd/yyyy.

附註 4:排程在使用的執行的帳號, 如果重設密碼後, 不知道需不需要回來重設一定排程裡的密碼.(待測)

沒有留言:

張貼留言

Facebook 留言板