排定工作。
Syntax
schtasks /create /sc <scheduletype> /tn <taskname> /tr <taskrun> [/s <computer> [/u [<domain>\]<user> [/p <password>]]] [/ru {[<domain>\]<user> | system}] [/rp <password>] [/mo <modifier>] [/d <day>[,<day>...] | *] [/m <month>[,<month>...]] [/i <idletime>] [/st <starttime>] [/ri <interval>] [{/et <endtime> | /du <duration>} [/k]] [/sd <startdate>] [/ed <enddate>] [/it] [/np] [/z] [/xml <xmlfile>] [/v1] [/f] [/rl <level>] [/delay <delaytime>] [/hresult]
Parameters
| Parameter | Description |
|---|---|
/sc <scheduletype> |
指定排程類型。 有效值包括:
|
/田納西州 <taskname> |
指定工作的名稱。 系統上的每個工作都必須有唯一的名稱,而且必須符合檔名的規則,不超過 238 個字元。 使用引號括住包含空格的名稱。 若要將排程工作儲存在不同的資料夾中,請執行 /tn<folder name\task name>。 |
/tr <Taskrun> |
指定工作執行的程式或命令。 輸入可執行檔、指令碼檔案或批次檔的完整路徑和檔名。 路徑不能超過 262 個字元。 如果您未新增路徑, schtasks 會假設檔案位於目錄中 <systemroot>\System32 。 |
/秒 <computer> |
指定遠端電腦的名稱或 IP 位址 (包含或不含反斜線)。 預設是本機電腦。 |
/u [<domain>] |
以指定使用者帳戶的權限來執行此命令。 預設值是本機電腦目前使用者的權限。 /u 和 /p 參數只有在您使用 /s 時才有效。 會使用指定帳戶的權限來排定工作和執行工作。 若要以不同使用者的許可權執行工作,請使用 /ru 參數。 使用者帳戶必須是遠端電腦之系統管理員群組的成員。 此外,本機電腦必須位於與遠端電腦相同的網域中,或必須位於遠端電腦網域信任的網域中。 |
/p <password> |
指定 /u 參數中指定的使用者帳戶密碼。 如果您使用 /u 參數而不使用 /p 參數或密碼引數,則 schtasks 會提示您輸入密碼。 /u 和 /p 參數只有在您使用 /s 時才有效。 |
/ru {[<domain>]<user> | system} |
以指定使用者帳戶的權限執行工作。 根據預設,工作會以本機電腦目前使用者的許可權執行,或以 /u 參數所指定使用者的許可權 (如果包含的話) 執行。
/ru 參數在本機或遠端電腦上排程工作時有效。 有效選項包括:
|
/rp <password> |
指定現有使用者帳戶的密碼,或 /ru 參數所指定的使用者帳戶。 如果您在指定使用者帳戶時未使用此參數,SchTasks.exe下次登入時會提示您輸入密碼。 請勿針對使用系統帳戶認證執行的工作使用 /rp參數 (/ru System) 。 系統帳戶沒有密碼,而且 SchTasks.exe 不會提示輸入密碼。 |
/莫 <modifiers> |
指定工作在其排程類型內執行的頻率。 有效選項包括:
|
| /d DAY[,DAY...] | 指定工作在其排程類型內執行的頻率。 有效選項包括:
|
| /m MONTH[,MONTH...] | 指定一年中排定的工作應該在該期間執行的一個或多個月份。 有效選項包括 JAN - DEC 和 * (每個月)。
/m 參數僅對 MONTHLY 排程有效。 這在使用 LASTDAY 修飾詞時是必要的。 否則,這是選擇性的,預設值是 * (每個月)。 |
/我 <Idletime> |
指定工作在電腦閒置多少分鐘後開始。 有效值為從 1 到 999 的整數。 此參數僅在搭配 ONIDLE 排程時有效,而且是必要的。 |
/聖 <Starttime> |
使用 24 小時時間格式 HH:mm 指定工作的開始時間。 預設值是本機電腦上的目前時間。 /st 參數適用於 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 及 ONCE 排程。 這對於 ONCE 排程是必要的。 |
/日 <interval> |
指定排定的工作的重複間隔,以分鐘為單位。 這不適用於排程類型:MINUTE、HOURLY、ONSTART、ONLOGON、ONIDLE 和 ONEVENT。 有效範圍是 1 - 599940 (599940 分鐘 = 9999 小時)。 如果指定 /et 或 /du 參數,則預設值為 10 分鐘。 |
/et <endtime> |
以 <HH:MM> 24 小時格式指定按分鐘或小時的工作排程結束的當日時間。 在指定的結束時間之後,schtasks 會等到開始時間再發生後再次開始該工作。 根據預設,工作排程沒有結束時間。 此參數是選擇性的,且僅適用於 MINUTE 或 HOURLY 排程。 |
/都 <duration> |
以 <HHHH:MM> 24 小時格式指定按分鐘或小時排程的時間長度上限。 在經過指定的時間之後,schtasks 會等到開始時間再發生後再次開始該工作。 根據預設,工作排程沒有最大持續時間。 此參數是選擇性的,且僅適用於 MINUTE 或 HOURLY 排程。 |
| /k | 停止工作在 /et 或 /du 指定的時間執行的程式。 如果沒有 /k,schtasks 在達到 /et 或 /du 指定的時間之後不會再次啟動程式,如果程式仍在執行,也不會停止程式。 此參數是選擇性的,且僅適用於 MINUTE 或 HOURLY 排程。 |
/sd <Startdate> |
指定工作排程開始的日期。 預設值是本機電腦上的目前日期。
開始日期的格式會因在 [區域和語言選項] 中為本機電腦選取的地區設定而有所不同。 每個地區設定只有一個格式有效。 有效的日期格式包括 (請務必選擇與本機電腦上 [區域和語言選項] 中為 [短日期] 選取的格式最相似的格式):
|
/ed <Enddate> |
指定排程結束的日期。 這是選用參數。 它不適用於 ONCE、ONSTART、ONLOGON、ONIDLE 或 ONEVENT 排程。 根據預設,排程沒有結束日期。 預設值是本機電腦上的目前日期。
結束日期的格式會因在 [區域和語言選項] 中為本機電腦選取的地區設定而有所不同。 每個地區設定只有一個格式有效。 有效的日期格式包括 (請務必選擇與本機電腦上 [區域和語言選項] 中為 [短日期] 選取的格式最相似的格式):
|
/電子商務 <channelname> |
指定由符合系統事件記錄準則的 ONEVENT 排程類型所觸發的事件通道名稱。 |
| /it | 指定只有在執行身分使用者 (工作執行所在的使用者帳戶) 登入電腦後,才會執行排定的工作。 此參數不會影響使用系統權限執行的工作,或已經設定互動式屬性的工作。 您無法使用 change 命令從工作中移除互動式專用屬性。 根據預設,以使用者身分執行是排程工作時本機電腦的目前使用者,或使用 /u 參數所指定的帳戶 (如果使用的話)。 不過,如果命令包含 /ru 參數,則執行身分是 /ru 參數所指定的帳戶。 |
| /np | 不儲存任何密碼。 工作以指定的使用者身分以非互動方式執行。 只有本機資源可用。 |
| /z | 指定在排程完成時刪除工作。 |
/xml <xmlfile> |
建立在 XML 檔案中指定的檔案。 可以與 /ru 和 /rp 參數結合,如果 XML 檔案已包含使用者帳戶資訊,則可以單獨與 /rp 參數結合。 |
| /v1 | 建立在 Vista 之前的作業系統可見的工作。 這與 /XML 參數不相容。 |
| /f | 指定以建立工作,並再指定的工作已經存在時隱藏警告。 |
/rl <level> |
指定作業的執行層級。 可接受的值為 LIMITED (排程工作將以最低層級的權限執行,例如標準使用者帳戶) 和 HIGHEST (排程工作將以最高層級的權限執行,例如超級使用者帳戶)。 預設值為 Limited。 |
/延遲 <delaytime> |
以 mmmm:ss 格式指定在觸發工作之後延遲執行工作的等候時間。 這僅適用於 ONSTART、ONLOGON 和 ONEVENT 排程類型。 |
| /hresult | 指定要使用 HRESULT 格式的處理序結束代碼。 |
| /? | 在命令提示字元顯示說明。 |
將工作排定為每 <n> 分鐘執行一次
在分鐘排程中, 需要 /sc minute 參數。 /mo (修飾元) 參數是選擇性的,並指定每次執行工作之間的分鐘數。 /mo 的預設值為 1 (每分鐘) 。 /et (結束時間) 和 /du (持續時間) 參數是選用的,可以搭配或不搭配 /k (結束任務) 參數使用。
Examples
若要排程安全性腳本 Sec.vbs 每 20 分鐘執行一次,請輸入:
schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs由於此範例不包含開始日期或時間,因此工作會在命令完成之後 20 分鐘啟動,並在每次系統執行時每隔 20 分鐘執行一次。 請注意,安全性指令碼來源檔案位於遠端電腦上,但工作已排程並在本機電腦上執行。
若要排程安全性腳本 Sec.vbs 在每天下午 5:00 到早上 7:59 之間,每隔 100 分鐘在本機電腦上執行一次,請輸入:
schtasks /create /tn "Security Script" /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k此範例使用 /sc 參數來指定分鐘排程,並使用 /mo 參數來指定 100 分鐘的間隔。 它使用 /st 和 /et 參數來指定每天排程的開始時間和結束時間。 如果腳本在早上 7:59 仍在運行,它還使用 /k 參數來停止腳本。如果沒有 /k,schtasks 不會在早上 7:59 之後啟動腳本,但如果執行個體在早上 6:20 啟動仍在執行中,則不會停止它。
將工作排定為每 <n> 小時執行一次
在每小時排程中, 需要 /sc 每小時參數 。 /mo (修飾元) 參數是選用的,並指定每次執行工作之間的小時數。 /mo 的預設值為 1 (每小時) 。 /k (結束工作) 參數是選用的,可以與 /et (在指定時間結束) 或 /du (在指定間隔後結束) 搭配使用。
Examples
若要將 MyApp 程式排定為自 2002 年 3 月的第一天開始每隔 5 小時執行一次,請輸入:
schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn MyApp /tr c:\apps\myapp.exe在此範例中,本機電腦會使用 [區域和語言選項] 中的 [英文 (津巴布韋) ] 選項,因此開始日期的格式為 MM/DD/YYYY (03/01/2002) 。
若要將 MyApp 程式排定為自午夜開始每小時執行,請輸入:
schtasks /create /sc hourly /st 00:05 /tn MyApp /tr c:\apps\myapp.exe若要將 MyApp 程式排程每隔 3 小時執行一次,共達 10 小時,請輸入:
schtasks /create /tn MyApp /tr MyApp.exe /sc hourly /mo 3 /st 00:00 /du 0010:00在此範例中,工作會在上午 12:00、上午 3:00、上午 6:00 和上午 9:00 執行。由於持續時間為 10 小時,因此工作不會在下午 12:00 再次執行。反而是在第二天上午 12:00 再次開始。 此外,由於程式只執行幾分鐘,因此不需要 /k 參數,如果程式在持續時間到期時仍在執行,則會停止程式。
將工作排定為每 <n> 天執行一次
在每日排程中, 需要 /sc daily 參數。 /mo (修飾元) 參數是選用的,並指定每次執行工作之間的天數。 /mo 的預設值為 1 (每天)。
Examples
若要將 MyApp 程式排定在每天上午 8:00 執行一次,直到 2021 年 12 月 31 日為止,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /st 08:00 /ed 31/12/2021在此範例中,本機電腦系統會設定為 [地區及語言選項] 中的 [英文 (英國)] 選項,因此結束日期的格式為 DD/MM/YYYY (31/12/2021)。 此外,由於此範例不包含 /mo 參數,因此預設間隔 1 會用來每天執行命令。
若要將 MyApp 程式排定為從 2021 年 12 月 31 日下午 1:00 (13:00) 開始每隔 12 天執行一次,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00在此範例中,系統在「區域和語言選項」中設定為「英文 (津巴布韋)」選項,因此結束日期的格式為 MM/DD/YYYY (12/31/2021)。
若要排程安全性腳本 Sec.vbs 每 70 天執行一次,請輸入:
schtasks /create /tn "Security Script" /tr sec.vbs /sc daily /mo 70 /it在此範例中, /it 參數可用來指定只有在執行工作之帳戶的使用者登入電腦時,工作才會執行。 因為工作是以特定使用者帳戶的權限執行,因此此工作只會在該使用者登入時執行。
Note
若要識別具有僅限互動式 (/it) 屬性的工作,請使用詳細查詢 (/query /v)。 在具有 /it 之任務的詳細查詢顯示中, 「登入模式」 欄位的值為「僅限互動式」。
將工作排定為每 <n> 週執行一次
在每週排程中, 需要 /sc weekly 參數。 /mo (修飾元) 參數是選擇性的,並指定每次執行工作之間的週數。 /mo 的預設值為 1 (每週)。
每週排程也有選用的 /d 參數,可排程任務在一週中的指定日期或所有日期執行 ()。 預設值為 MON (Monday)。 每天 () 選項相當於排程每日工作。
Examples
若要將 MyApp 程式排定在遠端電腦上每隔六週執行一次,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 6 /s Server16 /u Admin01因為此範例省略了 /d 參數,所以工作會在星期一執行。 此範例也會使用 /s 參數來指定遠端電腦,並使用 /u 參數以使用者系統管理員帳戶的許可權執行命令。 此外,由於 /p 參數被遺漏,SchTasks.exe 提示使用者輸入系統管理員帳戶密碼,而且由於命令是遠端執行的,因此命令中的所有路徑 (包括 MyApp.exe的路徑) 都會參考遠端電腦上的路徑。
若要將工作排定為每隔一個星期五執行一次,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI此範例使用 /mo 參數來指定兩週間隔,並使用 /d 參數來指定星期幾。 若要排程每週五執行的任務,請省略 /mo 參數或將其設定為 1。
將工作排定為每 <n> 月執行一次
在此排程類型中, 需要 /sc 每月 參數。 /mo (修飾元) 參數指定每次執行任務之間的月數,是選用的,預設值為 1 (每個月)。 此排程類型也具有選擇性的 /d 參數,可排程任務在當月的指定日期執行。 預設值為 1 (當月的第一天)。
Examples
若要將 MyApp 程式排定在每個月的第一天執行,請輸入:
schtasks /create /tn MyApp /tr myapp.exe /sc monthly/mo (修飾詞) 參數和 /d (day) 參數的預設值都是 1,因此您不需要在此範例中使用這兩個參數。
若要將 MyApp 程式排定為每隔三個月執行一次,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo 3此範例使用 /mo 參數來指定 3 個月的間隔。
若要將 MyApp 程式排定為自 2002 年 7 月 2 日至 2003 年 6 月 30 日在當月 21 日午夜每隔一個月執行一年,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo 2 /d 21 /st 00:00 /sd 2002/07/01 /ed 2003/06/30此範例使用 /mo 參數來指定每月間隔 (每兩個月一次)、 /d 參數來指定日期、 /st 參數來指定時間,以及 /sd 和 /ed 參數分別指定開始日期和結束日期。 在此範例中,本機電腦也會設定為 [地區及語言選項] 中的 [英文 (南非)] 選項,因此日期是以本機格式 YYYY/MM/DD 指定。
將工作排定在一週的特定天執行
按一週某天排程是每週排程的變化。 在每週排程中, 需要 /sc weekly 參數。
/mo (修飾元) 參數是選擇性的,並指定每次執行工作之間的週數。
/mo 的預設值為 1 (每週)。
/d 參數是選用的,可排程工作在一週中的指定日期或所有日期執行 (*)。 預設值為 MON (Monday)。 每天選項 (/d *) 相當於排程每日工作。
Examples
若要將 MyApp 程式排定在每星期三執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /d WED此範例使用 /d 參數來指定星期幾。 因為命令省略了 /mo 參數,所以工作每週都會執行。
若要將工作排定為每八週在星期一和星期五執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 8 /d MON,FRI此範例使用 /d 參數來指定天數,並使用 /mo 參數來指定八週間隔。
將工作排定在一月的特定週執行
在此排程類型中, 需要 /sc 每月 參數、 /mo (修飾符) 參數及 /d (日) 參數。 /mo (修飾元) 參數會指定工作執行的週。 /d 參數指定星期幾。 針對此排程類型一週只能指定一天。 此排程也具有選用的 /m (月) 參數,可讓您排程特定月份或每個月的任務 (*)。 /m 參數的預設值為每月 (*)。
Examples
若要將 MyApp 程式排定在每個月的第二個星期日執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo SECOND /d SUN此範例使用 /mo 參數來指定當月的第二週,並使用 /d 參數來指定日期。
若要將 MyApp 程式排定在 3 月和 9 月的第一個星期一執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo FIRST /d MON /m MAR,SEP此範例使用 /mo 參數來指定當月的第一週,並使用 /d 參數來指定日期。 它使用 /m 參數來指定月份,並用逗號分隔月份引數。
將工作排定在每月特定日執行
在此排程類型中,需要 /sc 每月 參數和 /d (日) 參數。 /d 參數指定月份的日期 (1 - 31),而不是一週中的某一天,而且您只能在排程中指定一天。 /m (month) 參數是選擇性的,預設值為每月 (),而 /mo (修飾詞) 參數對此排程類型無效。
Schtasks.exe 不允許您將任務排程為不在 /m 參數指定的月份的日期。 例如,嘗試排定 2 月的第 31 天。 不過,如果您不使用 /m 參數,並將任務排程為未在每個月出現的日期,則任務將不會在較短的月份執行。 若要將工作排定在當月最後一天,請使用最後一天排程類型。
Examples
若要將 MyApp 程式排定在每個月的第一天執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly因為預設修飾符是 none (無修飾符),所以此命令會使用預設日期 1 和 每個月的預設月份,而不需要任何其他參數。
若要將 MyApp 程式排定在 5 月 15 日和 6 月 15 日下午 3:00 (15:00) 執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /m MAY,JUN /st 15:00此範例使用 /d 參數來指定日期,並使用 /m 參數來指定月份。 它也會使用 /st 參數來指定開始時間。
將工作排定在一個月的最後一天執行
在最後一天排程類型中,需要 /sc 每月 參數、 /mo LASTDAY (修飾符) 參數及 /m (月) 參數。 /d (日) 參數無效。
Examples
若要將 MyApp 程式排定在每個月的最後一天執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo lastday /m *此範例使用 /mo 參數來指定最後一天,並使用 /m 參數搭配萬用字元 (*) 來指出程式每月執行一次。
若要將 MyApp 程式排定在 2 月的最後一天和 3 月的最後一天下午 6:00 執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo lastday /m FEB,MAR /st 18:00此範例使用 /mo 參數來指定最後一天,使用 /m 參數來指定月份,以及 /st 參數來指定開始時間。
排程執行一次
在執行一次排程類型中,需要 /sc once 參數。 /st 參數會指定工作執行的時間,是必要的。 /sd 參數會指定工作執行的日期,是選擇性的,而 /mo (修飾詞) 和 /ed (結束日期) 參數無效。
如果根據本機電腦的時間,指定的日期和時間是過去時間,Schtasks 不會讓您將排定執行一次的工作。 若要將工作排定在不同時區的遠端電腦上執行一次,您必須在本機電腦上將其排定該日期和時間之前執行。
Example
若要將 MyApp 程式排定在 2003 年 1 月 1 日午夜執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00此範例使用 /sc 參數來指定排程類型,並使用 /sd 和 /st 參數來指定日期和時間。 此外,在此範例中,本機電腦使用 [地區及語言選項] 中的 [英文 (美國)] 選項,開始日期的格式為 MM/DD/YYYY。
將工作排定在每次系統啟動時執行
在啟動時排程類型中, 需要 /sc onstart 參數。 /sd (開始日期) 參數是選用的,預設值是目前日期。
Example
若要將 MyApp 程式排定在每次系統啟動時執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onstart在此範例中,本機電腦使用 [地區及語言選項] 中的 [英文 (美國)] 選項,開始日期的格式為 MM/DD/YYYY。
將工作排定在使用者登入時執行
按登入排程類型會將工作排定在每當有任何使用者登入電腦時執行。 在登入排程類型中,需要 /sc onlogon 參數。 /sd (開始日期) 參數是選用的,預設值是目前日期。
Example
若要將工作排定在當使用者登入遠端電腦時執行,請輸入:
schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23本範例會排定批次檔,以在每次使用者 (任何使用者) 登入遠端電腦時執行。 它使用 /s 參數來指定遠端電腦。 因為命令是遠端的,因此命令中的所有路徑 (包括批次檔的路徑) 都是參考遠端電腦上的路徑。
將工作排定在系統閒置時執行
閒置排程類型會排程在 /i 參數指定的時間內,只要沒有使用者活動,就會執行工作。 在閒置排程類型中, 需要 /sc onidle 參數和 /i 參數。 /sd (開始日期) 是選擇性的,預設值是目前日期。
Example
若要將 MyApp 程式排定在每當電腦閒置時執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onidle /i 10此範例會使用必要的 /i 參數來指定電腦必須在工作開始前保持閒置十分鐘。
將工作排定為立即執行
Schtasks 沒有 [立即執行] 選項,但您可以藉由建立執行一次的工作,並在幾分鐘內啟動來模擬該選項。
Example
若要將工作排定在 2020 年 11 月 13 日下午 2:18 當地時間執行一次,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /st 14:18 /sd 11/13/2002在此範例中,本機電腦使用 [地區及語言選項] 中的 [英文 (美國)] 選項,因此開始日期的格式為 MM/DD/YYYY。
排定以不同權限執行的工作
您可以排定所有類型的工作以本機和遠端電腦上替代帳戶權限執行。 除了特定排程類型所需的參數之外, /ru 參數是必要的,而 /rp 參數是選擇性的。
Examples
若要在本機電腦上執行 MyApp 程式,請輸入:
schtasks /create /tn MyApp /tr myapp.exe /sc weekly /d TUE /ru Admin06此範例使用 /ru 參數來指定工作應該以使用者系統管理員帳戶 (Admin06) 的許可權執行。 此外,在此範例中,也會將工作排定在每週二執行,但您可以使用任何排程類型來執行以替代權限執行的工作。
作為回應,SchTasks.exe 會提示輸入 Admin06 帳戶的執行方式密碼,然後顯示成功訊息:
Please enter the run as password for Admin06: ******** SUCCESS: The scheduled task MyApp has successfully been created.若要每四天在 Marketing 電腦上執行 MyApp 程式,請輸入:
schtasks /create /tn MyApp /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01此範例使用 /sc 參數來指定每日排程,並使用 /mo 參數來指定四天的間隔。 此外,此範例會使用 /s 參數來提供遠端電腦的名稱,並使用 /u 參數來指定具有在遠端電腦上排程工作許可權的帳戶 (行銷電腦上的 Admin01) 。 最後,此範例使用 /ru 參數來指定工作應該以使用者非系統管理員帳戶 (Reskits 網域中的 User01) 的許可權執行。 如果沒有 /ru 參數,工作會以 /u 所指定帳戶的許可權執行。
執行此範例時, Schtasks 會先要求 /u 參數所命名之使用者的密碼 (以執行指令),然後要求 /ru 參數所命名之使用者的密碼 (以執行作業) 。 驗證密碼之後,schtasks 會顯示訊息,指出已排定工作:
Type the password for Marketing\Admin01:******** Please enter the run as password for Reskits\User01: ******** SUCCESS: The scheduled task MyApp has successfully been created.若要執行,請排程 AdminCheck.exe 程式在每週五凌晨 4:00 在公用電腦上執行,但前提是電腦的系統管理員已登入,請輸入:
schtasks /create /tn "Check Admin" /tr AdminCheck.exe /sc weekly /d FRI /st 04:00 /s Public /u Domain3\Admin06 /ru Public\Admin01 /it此範例使用 /sc 參數來指定每週排程, 使用 /d 參數來指定日期,以及 /st 參數來指定開始時間。 它也會使用 /s 參數來提供遠端電腦的名稱、 /u 參數來指定具有在遠端電腦上排程工作許可權的帳戶、 /ru 參數來設定工作以公用電腦系統管理員的許可權執行 (Public\Admin01) ,以及 /it 參數來指出工作只有在 登入 Public\Admin01 帳戶時才會執行。
Note
若要識別具有僅限互動 (/it) 屬性的任務,請使用詳細查詢 (
/query /v)。 在具有 /it 之任務的詳細查詢顯示中, 「登入模式」 欄位的值為「 僅限互動式」。
排定以系統權限執行的工作
所有類型的工作都可以在本機和遠端電腦上以 系統 帳戶的許可權執行。 除了特定排程類型所需的參數之外,還需要 /ru 系統 (或 /ru) 參數,而 /rp 參數無效。
Important
系統帳戶沒有互動式登入權限。 使用者看不到以系統權限執行的程式或工作,或無法與其互動。 /ru 參數會決定工作執行時所依據的許可權,而不是用來排程工作的許可權。 只有系統管理員可以排程工作,而不論 /ru 參數的值為何。
若要識別以系統權限執行的工作,請使用詳細資訊查詢 (/query /v)。 在系統執行工作的詳細資訊查詢顯示中,[執行身分使用者] 欄位的值為 [NT AUTHORITY\SYSTEM],而 [登入模式] 欄位的值為 [僅限背景]。
Examples
若要排程 MyApp 程式在具有 系統 帳戶許可權的本機電腦上執行,請輸入:
schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System在此範例中,工作會排定在每個月的第十五天執行,但您可以針對以系統權限執行的工作使用任何排程類型。 此外,此範例會使用 /ru System 參數來指定系統安全性內容。 因為系統工作不使用密碼,所以會省略 /rp 參數。
為了回應,SchTasks.exe 會顯示參考訊息和成功訊息,而不會提示輸入密碼:
INFO: The task will be created under user name (NT AUTHORITY\SYSTEM). SUCCESS: The Scheduled task MyApp has successfully been created.若要使用系統權限將 MyApp 程式排程為每天早上 4:00 在 Finance01 電腦上執行,請輸入:
schtasks /create /tn MyApp /tr myapp.exe /sc daily /st 04:00 /s Finance01 /u Admin01 /ru System此範例使用 /tn 參數來命名作業,並使用 /tr 參數來指定 MyApp 程式的遠端副本, 使用 /sc 參數來指定每日排程,但省略 /mo 參數,因為 1 (每天) 是預設值。 此範例也會使用 /st 參數來指定開始時間,這也是工作每天執行的時間、 /s 參數來提供遠端電腦的名稱、 /u 參數來指定具有在遠端電腦上排程工作的許可權的帳戶,以及 /ru 參數來指定工作應該在系統帳戶下執行。 如果沒有 /ru 參數,工作會使用 /u 參數所指定帳戶的許可權來執行。
Schtasks.exe 會要求 /u 參數所命名之使用者的密碼,並在驗證密碼之後,顯示一則訊息,指出工作已建立,且工作將以 系統 帳戶的許可權執行:
Type the password for Admin01:********** INFO: The Schedule Task MyApp will be created under user name (NT AUTHORITY\ SYSTEM). SUCCESS: The scheduled task MyApp has successfully been created.
排定執行多個程式的工作
每個工作只會執行一個程式。 不過,您可以建立執行多個程式的批次檔,然後排定工作來執行該批次檔。
使用文字編輯器 (例如記事本) 建立批次檔,其中包含啟動事件檢視器 (Eventvwr.exe) 和系統監視器 (Perfmon.exe) 程式所需的.exe 檔案名稱和完整路徑。
C:\Windows\System32\Eventvwr.exe C:\Windows\System32\Perfmon.exe將檔案儲存為 MyApps.bat,開啟 schtasks.exe,然後輸入下列字來建立要執行 MyApps.bat 的工作:
schtasks /create /tn Monitor /tr C:\MyApps.bat /sc onlogon /ru Reskit\Administrator此命令會建立監視器工作,在每當有任何人登入時執行。 它會使用 /tn 參數來命名工作,使用 /tr 參數來執行 MyApps.bat,使用 /sc 參數來指出 OnLogon 排程類型,並使用 /ru 參數來以使用者系統管理員帳戶的許可權執行工作。
由於此命令,每當使用者登入電腦時,該工作會同時啟動事件檢視器和系統監視器。
將工作排定在遠端電腦上執行
若要將工作排定在遠端電腦上執行,您必須將工作新增至遠端電腦的排程。 所有類型的工作都可以在遠端電腦上排程,但必須符合下列條件:
您必須具有排定工作的權限。 因此,您必須使用遠端電腦上 Administrators 群組成員的帳戶登入本機電腦,或者您必須使用 /u 參數來提供遠端電腦系統管理員的認證。
只有在本機和遠端電腦位於相同網域中,或本機電腦位於遠端電腦網域信任的網域中時,才能使用 /u 參數。 否則,遠端電腦無法驗證指定的使用者帳戶,而且無法確認該帳戶是系統管理員群組的成員。
工作必須有足夠的權限,才能在遠端電腦上執行。 所需的權限因工作而異。 根據預設,工作會以本機電腦目前使用者的許可權執行,或者,如果使用 /u 參數,則工作會以 /u 參數所指定帳戶的許可權執行。 不過,您可以使用 /ru 參數,以不同使用者帳戶的許可權或系統許可權來執行工作。
Examples
若要排程 MyApp 程式 (以管理員身分) 從立即開始每十天在 SRV01 遠端電腦上執行一次,請輸入:
schtasks /create /s SRV01 /tn MyApp /tr c:\program files\corpapps\myapp.exe /sc daily /mo 10此範例會使用 /s 參數來提供遠端電腦的名稱。 因為本機目前使用者是遠端電腦的系統管理員,所以不需要 /u 參數,它提供排程工作的替代許可權。
Note
在遠端電腦上排定工作時,所有參數都會參考遠端電腦。 因此, /tr 參數所指定的檔案是指遠端電腦上 MyApp.exe 的複本。
若要排程 MyApp 程式 (以使用者身分) 每三個小時在 SRV06 遠端電腦上執行一次,請輸入:
schtasks /create /s SRV06 /tn MyApp /tr c:\program files\corpapps\myapp.exe /sc hourly /mo 3 /u reskits\admin01 /p R43253@4$ /ru SRV06\user03 /rp MyFav!!Pswd由於需要管理員權限才能排程任務,因此該命令使用 /u 和 /p 參數來提供使用者管理員帳戶的認證 (Reskits 網域中的 Admin01)。 根據預設,也會使用這些權限來執行工作。 不過,由於工作不需要系統管理員許可權即可執行,因此命令包含 /u 和 /rp 參數,以覆寫預設值,並以遠端電腦上使用者非系統管理員帳戶的許可權執行工作。
排程 MyApp 程式 (以使用者身分) 在每個月的最後一天在 SRV02 遠端電腦上執行。
schtasks /create /s SRV02 /tn MyApp /tr c:\program files\corpapps\myapp.exe /sc monthly /mo LASTDAY /m * /u reskits\admin01因為本機目前使用者 (user03) 不是遠端電腦的系統管理員,所以命令會使用 /u 參數來提供使用者系統管理員帳戶的認證 (Reskits 網域中的 Admin01) 。 將使用系統管理員帳戶權限來排定工作和執行工作。
因為指令不包含 /p (password) 參數,所以 schtasks 會提示輸入密碼。 然後會顯示成功訊息,在本例中會顯示警告:
Type the password for reskits\admin01:******** SUCCESS: The scheduled task MyApp has successfully been created. WARNING: The scheduled task MyApp has been created, but may not run because the account information could not be set.此警告表示遠端網域無法驗證 /u 參數所指定的帳戶。 在本例中,遠端網域無法驗證使用者帳戶,因為本機電腦不是遠端電腦網域信任的網域成員。 發生這種情況時,工作作業會出現在排定的工作清單中,但工作實際上是空的,而且不會執行。
下列來自詳細資訊查詢的顯示會公開工作的問題。 在顯示中,請注意,Next Run Time 的值是 Never,而且 Run As User 的值是 Could not be retrieved from the task scheduler database。
如果這部電腦是相同網域或受信任網域的成員,工作就會成功排程,而且會依指定執行。
HostName: SRV44 TaskName: MyApp Next Run Time: Never Status: Logon mode: Interactive/Background Last Run Time: Never Last Result: 0 Creator: user03 Schedule: At 3:52 PM on day 31 of every month, start starting 12/14/2001 Task To Run: c:\program files\corpapps\myapp.exe Start In: myapp.exe Comment: N/A Scheduled Task State: Disabled Scheduled Type: Monthly Start Time: 3:52:00 PM Start Date: 12/14/2001 End Date: N/A Days: 31 Months: JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NO V,DEC Run As User: Could not be retrieved from the task sched uler database Delete Task If Not Rescheduled: Enabled Stop Task If Runs X Hours and X Mins: 72:0 Repeat: Every: Disabled Repeat: Until: Time: Disabled Repeat: Until: Duration: Disabled Repeat: Stop If Still Running: Disabled Idle Time: Disabled Power Management: Disabled
Remarks
若要以不同使用者的許可權執行 /create 命令,請使用 /u 參數。 /u 參數僅適用於遠端電腦上的排程工作。
若要檢視更多
schtasks /create範例,請在命令提示字元中輸入schtasks /create /?。若要排程以不同使用者許可權執行的工作,請使用 /ru 參數。 /ru 參數適用於本機和遠端電腦上的工作。
若要使用 /u 參數,本機電腦必須與遠端電腦位於相同的網域中,或必須位於遠端電腦網域信任的網域中。 否則,不會建立工作,或工作作業會是空的,而且工作不會執行。
除非提供密碼,否則 Schtasks 一律會提示您輸入密碼,即使您使用目前的使用者帳戶在本機電腦上排定工作也一樣。 這是 schtask 的正常行為。
Schtasks 不會驗證程式檔案位置或使用者帳戶密碼。 如果您未輸入正確的檔案位置或使用者帳戶的正確密碼,則會建立工作,但不會執行。 此外,如果帳戶的密碼變更或到期,而且您沒有變更儲存在工作中的密碼,則工作將不會執行。
系統帳戶沒有互動式登入權限。 使用者看不到使用系統權限執行的程式,而且無法與其互動。
每個工作只會執行一個程式。 不過,您可以建立開始多項工作的批次檔,然後排定工作來執行該批次檔。
只要建立工作,就可以測試工作。 使用執行作業來測試工作,然後檢查 SchedLgU.txt 檔案 (SystemRoot\SchedLgU.txt) 是否有錯誤。