玩轉Win7/Vista/XP的計劃任務命令:schtasks

2011/1/26 13:40:19    編輯:軟媒 - Win7之家     字體:【

Win7之家airtaxifl.com):玩轉Win7/Vista/XP的計劃任務命令:schtasks

Windows 自帶的命令非常非常之多,其中計劃任務我們之前沒有在Win7之家Vista之家談及過,今天順便整理一下,發(fā)給大家。

當然,新手朋友們可以繞過此文,老手朋友們可以根據這個定制自己的計劃任務。不過,這個命令一般會被一些軟件使用來執(zhí)行初始化安裝或者卸載的時候使用,例如有些軟件卸載后會提示您必須重啟后才能徹底卸載之類的,就可能涉及到用這個命令來在關機時或者下次開機時執(zhí)行一次性的計劃任務。

schtasks 命令簡述:

安排命令和程序,使其定期運行或在指定時間運行。向計劃中添加任務和從中刪除任務、根據需要啟動和停止任務以及顯示和更改計劃的任務。

在進行schtasks 這個計劃任務命令的參數詳解之前,先簡要提出以下幾點:

1、SchTasks.exe 執(zhí)行的操作類似于“控制面板”中“計劃任務”中的操作?梢允褂脙煞N工具中的任一種來創(chuàng)建、刪除、配置或顯示計劃任務。

2、鍵入不帶任何參數的 schtasks 執(zhí)行查詢。

3、用戶必須是命令起作用的計算機上的 Administrators 組(管理員)的成員。(軟媒備注:Vista或者Win7下可以用管理員身份運行命令行)

4、要確認計劃運行或要找出計劃不運行的原因,請查看“任務計劃”服務事務日志 Systemroot\SchedLgU.txt。該日志記錄了由包括“計劃任務”和 SchTasks.exe 在內的所有使用該服務的工具啟動的嘗試運行。

5、損壞任務文件的情況極少發(fā)生。已損壞文件不會運行。在已損壞任務上試圖執(zhí)行某項操作時,SchTasks.exe 顯示以下錯誤消息:

錯誤:數據非法。

已損壞任務無法恢復。要恢復系統(tǒng)的計劃任務特征,請使用 SchTasks.exe 或“計劃任務”從系統(tǒng)中刪除任務并重新計劃。

6、SchTasks.exe 取代了包含在 Windows 早期版本中的工具 At.exe。XP、Vista、Windows7、Windows2003/2008等系統(tǒng)中均可以使用。

Schtasks 計劃任務參數 詳解

[
      注意:a. 命令行創(chuàng)建的計劃任務有空格而不能創(chuàng)建的情況的解決方案:在含有看空格的參數或則路徑前面加上 \"  進行轉義,這樣就ok     
      demo:  schtasks /create /sc minute /mo 30 /tn "finaltest" /tr \"d:program file\smth.bat" \"'20' '302'"
                                                                  ------------------2011-01-25 14:22
]

schtasks create   
創(chuàng)建新的計劃任務。

語法

schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo modifier] [/d day] [/m month[,month...] [/i IdleTime] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]] /?

參數

/tn TaskName         指定任務的名稱。
/tr TaskRun             指定任務運行的程序或命令。鍵入可執(zhí)行文件、腳本文件或批處理文件的完全合格的路徑和文件名。
                               如果忽略該路徑,SchTasks.exe 將假定文件在 Systemroot\System32 目錄下。
/sc schedule           指定計劃類型。有效值為 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。


值說明

MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY
指定計劃的時間單位。

ONCE
任務在指定的日期和時間運行一次。

ONSTART
任務在每次系統(tǒng)啟動的時候運行?梢灾付▎拥娜掌,或下一次系統(tǒng)啟動的時候運行任務。

ONLOGON
每當用戶(任意用戶)登錄的時候,任務就運行。可以指定日期,或在下次用戶登錄的時候運行任務。

ONIDLE
只要系統(tǒng)空閑了指定的時間,任務就運行。可以指定日期,或在下次系統(tǒng)空閑的時候運行任務。

 

/mo modifier
指定任務在其計劃類型內的運行頻率。這個參數對于 MONTHLY 計劃是必需的。對于 MINUTE、HOURLY、DAILY 或 WEEKLY 計劃,這個參數有效,但也可選。默認值為 1。

計劃類型
修飾符
說明

MINUTE
11439
任務每 n 分鐘運行一次。

HOURLY
123
任務每 n 小時運行一次。

DAILY
1365
任務每 n 天運行一次。

WEEKLY
152
任務每 n 周運行一次。

MONTHLY
112
任務每 n 月運行一次。

LASTDAY
任務在月份的最后一天運行。

FIRST、SECOND、THIRDFOURTH、LAST
/d day 參數共同使用,并在特定的周和天運行任務。例如,在月份的第三個周三。

 

/d dirlist
指定周或月的一天。只與 WEEKLY 或 MONTHLY 計劃共同使用時有效。

計劃類型
日期值

WEEKLY
可選項。有效值是 MON ~ SUN 和 * (每一天)。MON 是默認值。

MONTHLY
在使用 FIRST、SECOND、THIRD、FOURTH 或 LAST 修飾符 (/mo) 時,需要 MON ~ SUN 中的某個值。1 ~ 31 是可選的,只在沒有修飾符或修飾符為 1 ~ 12 類型時有效。默認值是 1 (月份的第一天)。

 

/m month[,month...]
指定一年中的一個月。有效值是 JAN ~ DEC 和 * (每個月)。/m 參數只對于 MONTHLY 計劃有效。在使用 LASTDAY 修飾符時,這個參數是必需的。否則,它是可選的,默認值是 * (每個月)。
/i InitialPageFileSize
指定任務啟動之前計算機空閑多少分鐘。鍵入一個 1 ~ 999 之間的整數。這個參數只對于 ONIDLE 計劃有效,而且是必需的。
/st StartTime
以 HH:MM:SS 24 小時格式指定時間。默認值是命令完成時的當前本地時間。/st 參數只對于 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 和 ONCE 計劃有效。它只對于 ONCE 計劃是必需的。
/sd StartDate
MM/DD/YYYY 格式指定任務啟動的日期。默認值是當前日期。/sd 參數對于所有的計劃有效,但只對于 ONCE 計劃是必需的。
/ed EndDate
指定任務計劃運行的最后日期。此參數是可選的。它對于 ONCE、ONSTART、ONLOGON 或 ONIDLE 計劃無效。默認情況下,計劃沒有結束日期。
/s Computer
指定遠程計算機的名稱或 IP 地址(帶有或者沒有反斜杠)。默認值是本地計算機。
/u [domain\]user
使用特定用戶帳戶的權限運行命令。默認情況下,使用已登錄到運行 SchTasks 的計算機上的用戶的權限運行命令。
/p password
指定在 /u 參數中指定的用戶帳戶的密碼。如果使用 /u 參數,則需要該參數。
/ru {[Domain\]User | "System"}
使用指定用戶帳戶的權限運行任務。默認情況下,使用用戶登錄到運行 SchTasks 的計算機上的權限運行任務。


說明

[domain\}User?
指定用戶帳戶。

"System"""
指定操作系統(tǒng)使用的 NT Authority\System 帳戶。

 

/p Password
指定用戶帳戶的密碼,該用戶帳戶在 /u 參數中指定。如果在指定用戶帳戶的時候忽略了這個參數,SchTasks.exe 會提示您輸入密碼而且不顯示鍵入的文本。使用 NT Authority\System 帳戶權限運行的任務不需要密碼,SchTasks.exe 也不會提示索要密碼。
/?
在命令提示符顯示幫助。

注釋

    XOX
  • SchTasks.exe 不驗證程序文件的位置或用戶帳戶密碼。如果沒有為用戶帳戶輸入正確的文件位置或正確的密碼,任務仍然可以創(chuàng)建,但不會運行。另外,如果帳戶的密碼更改或過期,而且沒有更改存儲在任務中的密碼,那么任務也不會運行。
  • NT Authority\System 帳戶沒有交互式登錄權限。用戶看不到以系統(tǒng)權限運行的程序,不能與之交互。
  • 每個任務只運行一個程序。但是,可以創(chuàng)建一個批處理文件來啟動多個任務,然后計劃一個任務來運行該批處理文件。
  • 只要創(chuàng)建了任務就可對其測試。使用 run 操作來測試任務,然后從 SchedLgU.txt 文件 ( Systemroot\SchedLgU.txt ) 中查閱錯誤。

每個計劃類型的語法和范例。

若要查看該命令語法,請單擊以下命令:

schtasks create minute

語法

schtasks /create /tn TaskName /tr TaskRun /sc minute [/mo {1 - 1439}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]

范例
計劃任務每 20 分鐘運行一次。

下面的命令計劃安全腳本 Sec.vbs 每 20 分鐘運行一次。由于命令沒有包含起始日期或時間,任務在命令完成 20 分鐘后啟動,此后每當系統(tǒng)運行它就每 20 分鐘運行一次。請注意,安全腳本源文件位于遠程計算機上,但任務在本地計算機上計劃并執(zhí)行。

schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs

作為響應,SchTasks.exe 顯示一條消息來說明任務會以當前用戶的權限運行并需要當前用戶的密碼。輸入密碼時,SchTasks.exe 不顯示鍵入的文本。

 The task will be created under current logged-in user name.
Please enter the password
************

然后 SchTasks.exe 顯示一條消息表明已計劃該任務:

成功:計劃任務 "Security Script" 已成功創(chuàng)建。

查詢顯示命令計劃的任務:

 TaskName                  Next Run Time            Status
========================= ======================== ==============
Security Script           10:50:00 AM , 4/4/2001   

schtasks create hourly

語法

schtasks /create /tn TaskName /tr TaskRun /sc hourly [/mo {1 - 365}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]

范例
計劃命令在每小時過五分的時候運行。

下面的命令將計劃 MyApp 程序從午夜過后五分鐘起每小時運行一次。因為忽略了 /mo 參數,命令使用了小時計劃的默認值,即每 (1) 小時。如果該命令在 12:05 A.M 之后生成,程序將在第二天才會運行。

schtasks /create /sc hourly /st 00:05:00 /tn "My App" /tr c:\apps\myapp.exe

計劃命令每五小時運行一次

下面的命令計劃 MyApp 程序從 2001 年 3 月的第一天起每五小時運行一次。它使用 /mo 參數來指定間隔時間,使用 /sd 參數來指定起始日期。由于命令沒有指定起始時間,當前時間被用作起始時間。

schtasks /create /sc hourly /mo 5 /sd 03/01/2001 /tn "My App" /tr c:\apps\myapp.exe

schtasks create daily

語法

schtasks /create /tn TaskName /tr TaskRun /sc daily [/mo {1 - 365}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]

范例
計劃任務每天運行一次

下面的范例計劃 MyApp 程序在每天的 8:00 A.M. 運行一次,直到 2001 年 12 月 31 日結束。由于它忽略了 /mo 參數,所以使用默認間隔 1 來每天運行命令。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc daily /st 08:00:00 /ed 12/31/2001

計劃任務每隔一天運行一次

下面的范例計劃 MyApp 程序從 2001 年 12 月 31 日起每隔一天在 1:00 P.M. (13:00) 運行。命令使用 /mo 參數來指定兩 (2) 天的間隔。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc daily /mo 2 /st 13:00:00 /sd 12/31/2001

schtasks create weekly

語法

schtasks /create /tn TaskName /tr TaskRun /sc weekly [/d {MON - SUN | *}] [/mo {1 - 52}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]

范例
計劃任務每六周運行一次

下面的命令計劃 MyApp 程序在遠程計算機上每六周運行一次。該命令使用 /mo 參數來指定間隔。它也使用 /s 參數來指定遠程計算機,使用 /ru 參數來計劃任務以用戶的 Administrator 帳戶權限運行。因為忽略了 /rp 參數,SchTasks.exe 會提示用戶輸入 Administrator 帳戶密碼。

另外,因為命令是遠程運行的,所以命令中所有的路徑,包括到 MyApp.exe 的路徑,都是指向遠程計算機上的路徑。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc weekly /mo 6 /s Server16 /ru Admin01

計劃任務每隔一周在周五運行

下面的命令計劃任務每隔一周在周五運行。它使用 /mo 參數來指定兩周的間隔,使用 /d 參數來指定是一周內的哪一天。如計劃任務在每個周五運行,要忽略 /mo 參數或將其設置為 1。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI

schtasks create monthly

語法
常規(guī)月計劃語法
schtasks /create /tn TaskName /tr TaskRun /sc monthly [/mo {FIRST | SECOND | THIRD | FOURTH | LAST | LASTDAY] [/d {MON - SUN | 1 - 31}] [/m {JAN - DEC[,JAN - DEC...] | *}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
指定周的語法
schtasks /create /tn TaskName /tr TaskRun /sc monthly /mo {FIRST | SECOND | THIRD | FOURTH | LAST} /d {MON - SUN} [/m {JAN - DEC[,JAN - DEC...] | *}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
Lastday 語法
schtasks /create /tn TaskName /tr TaskRun /sc monthly /mo LASTDAY /m {JAN - DEC[,JAN - DEC...] | *} [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
指定日期的語法
schtasks /create /tn TaskName /tr TaskRun /sc monthly /d {1 - 31} [/m {JAN - DEC[,JAN - DEC...] | *}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
范例
計劃任務在每月的第一天運行

下面的命令計劃 MyApp 程序在每月的第一天運行。因為默認修飾符是 none(即:沒有修飾符),默認天是第一天,默認的月份是每個月,所以該命令不需要任何其它的參數。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly

計劃任務在每月的最后一天運行

下面的命令計劃 MyApp 程序在每月的最后一天運行。它使用 /mo 參數指定在每月的最后一天運行程序,使用通配符 (*) 與 /m 參數表明在每月的最后一天運行程序。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /mo lastday /m *

計劃任務每三個月運行一次

下面的命令計劃 MyApp 程序每三個月運行一次。.它使用 /mo 參數來指定間隔。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /mo 3

計劃任務在每月的第二個周日運行

下面的命令計劃 MyApp 程序在每月的第二個周日運行。它使用 /mo 參數指定是每月的第二周,使用 /d 參數指定天。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /mo SECOND /d SUN

計劃任務在五月和六月的第 15 天運行。

下面的命令計劃 MyApp 程序在五月 15 日和六月 15 日的 3:00 PM (15:00) 運行。它使用 /d 參數來指定日期,使用 /m 參數指定月份。它也使用 /st 參數來指定開始時間。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /d 15 /m MAY,JUN /st 15:00:00

schtasks create once

語法

schtasks /create /tn TaskName /tr TaskRun /sc once /st StartTime /sd StartDate [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]

范例
計劃任務運行一次

下面的命令計劃 MyApp 程序在 2002 年 1 月 1 日午夜運行一次。它使用 /ru 參數指定以用戶的 Administrator 帳戶權限運行任務,使用 /rp 參數為 Administrator 帳戶提供密碼。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc once /st 00:00:00 /sd 01/01/2002 /ru Admin23 /rp p@ssworD1

schtasks create onstart

語法

schtasks /create /tn TaskName /tr TaskRun /sc onstart [/sd StartDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]

范例
計劃任務在每次系統(tǒng)啟動的時候運行

下面的命令計劃 MyApp 程序在每次系統(tǒng)啟動的時候運行,起始日期是 2001 年 3 月 15 日。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc onstart /sd 03/15/2001

schtasks create onlogon

語法

schtasks /create /tn TaskName /tr TaskRun /sc onlogon [/sd StartDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]

范例
計劃任務在用戶登錄到遠程計算機的時候運行

下面的命令計劃批處理文件在用戶(任何用戶)每次登錄到遠程計算機上的時候運行。它使用 /s 參數指定遠程計算機。因為命令是遠程的,所以命令中所有的路徑,包括批處理文件的路徑,都指定為遠程計算機上的路徑。

schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23

schtasks create onidle

語法

schtasks /create /tn TaskName /tr TaskRun /sc onidle /iIdleTime [/sd StartDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]

范例
計劃某項任務在計算機空閑的時候運行

下面的命令計劃 MyApp 程序在計算機空閑的時候運行。它使用必需的 /i 參數指定在啟動任務之前計算機必需持續(xù)空閑十分鐘。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc onidle /i 10

更多范例

若要查看范例,請單擊范例名稱:

創(chuàng)建以 System 權限運行的任務

下面的命令計劃 MyApp 程序以 NT Authority\System 帳戶權限運行。在這個范例中,任務計劃在每月的第一天運行,但對于以系統(tǒng)權限運行的任務可以使用所有的計劃類型。

該命令使用 /ru "System" 參數指定系統(tǒng)安全上下文。因為系統(tǒng)任務不需要密碼,所以忽略了 /rp 參數。

schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /d 1 /ru "System"

作為響應,SchTasks.exe 顯示一個信息性消息和一個成功消息。它不提示輸入密碼。

 信息:此任務將被創(chuàng)建于用戶名下 ("NT AUTHORITY\SYSTEM")。
成功:計劃任務 "My App" 已成功創(chuàng)建。

創(chuàng)建運行多個程序的任務

每個任務只能運行一個程序。但是可以創(chuàng)建一個運行多個程序的批處理文件,然后計劃一個任務來運行該批處理文件。下面的過程說明了這個方法:

  1. 創(chuàng)建一個啟動要運行程序的批處理文件。

    在這個范例中創(chuàng)建了一個啟動“事件查看器”(Eventvwr.exe) 和“系統(tǒng)監(jiān)視器”(Perfmon.exe) 的批處理文件。

    • 啟動文本編輯器,例如“記事本”。
    • 鍵入每個程序的名稱和指向可執(zhí)行文件的完全合格的路徑。在這種情況下,文件包含有下列語句。

      C:\Windows\System32\Eventvwr.exe
      C:\Windows\System32\Perfmon.exe

    • 將文件存儲為 MyApps.bat。
  2. 使用 SchTasks.exe 創(chuàng)建一個運行 MyApps.bat 的任務。

    下面的命令創(chuàng)建了 Monitor 任務,每當有人登錄它就運行。它使用 /tn 參數命名任務,使用 /tr 參數運行 MyApps.bat。它使用 /sc 參數來指明 OnLogon 計劃類型,使用 /ru 參數指定 Administrator 帳戶。

    schtasks /create /tn Monitor /tr C:\MyApps.bat /sc onlogon /ru Reskit\Administrator

    該命令的結果是,每當用戶登錄到計算機,任務就啟動“事件查看器”和“系統(tǒng)監(jiān)視器”。 

更改計劃任務

更改一個或多個下列任務屬性。

  • 任務運行的程序 (/tr)。
  • 任務運行的用戶帳戶 (/ru)。
  • 用戶帳戶的密碼 (/rp)。

語法

schtasks /change /tn TaskName [/s computer [/u [domain\]user /p password]] [/tr TaskRun] [/ru [Domain\]User | "System"] [/rp Password]

參數

/tn TaskName
標識要更改的任務。輸入任務名。
/s Computer
指定遠程計算機的名稱或 IP 地址(帶有或者沒有反斜杠)。默認值是本地計算機。
/u [domain\]user
使用特定用戶帳戶的權限運行命令。默認情況下,使用已登錄到運行 SchTasks 的計算機上的用戶的權限運行命令。
/p password
指定在 /u 參數中指定的用戶帳戶的密碼。如果使用 /u 參數,則需要該參數。
/tr TaskRun
更改任務運行的程序。輸入可執(zhí)行文件、腳本文件或批處理文件的完全合格的路徑和文件名。如果忽略了路徑,SchTasks.exe 假定文件在 Systemroot\System32 目錄下指定的程序替換任務最初運行的程序。
/ru [Domain\]User | "System"
更改用于任務的用戶帳戶。


說明

[domain\]User
指定用戶帳戶

"System" or ""
指定為操作系統(tǒng)所使用的 NT Authority\System 帳戶。

在更改用戶帳戶的時候,必須也要更改用戶密碼。如果命令帶有 /ru 參數,但沒有 /rp 參數,SchTasks.exe 提示要求輸入新的密碼而且不顯示鍵入的文本。

任務以不需要密碼的 NT Authority\System 帳戶權限運行,SchTasks.exe 不會提示輸入密碼。

 

/p Password
更改用于任務的帳戶密碼。輸入新的密碼。
/?
在命令提示符顯示幫助。

注釋

    XOX
  • /tn/s 參數標識該任務。/tr、/ru/rp 參數指定可以更改的任務屬性。
  • 使用 change 操作的命令必須至少更改一個任務屬性。
  • NT Authority\System 帳戶沒有交互式登錄權限。用戶看不到以系統(tǒng)權限運行的程序,不能與其交互。

范例

更改任務運行的程序

下面的命令將 Virus Check 任務運行的程序由 VirusCheck.exe 更改為 VirusCheck2.exe。此命令使用 /tn 參數標識任務,使用 /tr 參數指定任務的新程序。(不能更改任務名稱。)

schtasks /change /tn "Virus Check" /tr C:\VirusCheck2.exe

作為響應,SchTasks.exe 顯示以下成功消息:

成功:計劃任務 "Virus Check" 的參數已更改。

此命令的結果是,Virus Check 任務現運行 VirusCheck2.exe。

更改遠程任務的用戶密碼

下面的命令更改用于遠程計算機 Svr01 上 RemindMe 任務的用戶帳戶密碼。命令使用 /tn 參數標識任務,使用 /s 參數指定遠程計算機。它使用 /rp 參數指定新的密碼 p@ssWord3。

在用戶帳戶密碼過期或更改的時候需要此過程。如果存儲在任務中的密碼無效,那么任務不會運行。

schtasks /change /tn RemindMe /s Svr01 /rp p@ssWord3

作為響應,SchTasks.exe 顯示以下成功消息:

成功:計劃任務 "RemindMe" 的參數已更改。

這個命令的結果是,RemindMe 任務現在以其初始的用戶帳戶運行,但擁有一個新密碼。

更改任務的程序和用戶帳戶

下面的命令更改任務運行的程序以及任務運行的用戶帳戶。實質上,它將舊的計劃用于新的任務。這個命令將每天早上 9:00 a.m. 啟動 "Notepad.exe" 的 Notepad 任務更改為啟動 "Internet Explorer" 瀏覽器。

該命令使用 /tn 參數來標識任務。它使用 /tr 參數更改任務運行的程序,使用 /ru 參數更改任務運行憑據的用戶帳戶。

忽略為用戶帳戶提供密碼的 /rp 參數。必須為帳戶提供密碼,但可以使用 /rp 參數以及在明文中鍵入密碼,或等待 SchTasks.exe 要求輸入密碼的提示,然后以不顯示文本的方式輸入密碼。

schtasks /change /tn Notepad /tr "c:\program files\Internet Explorer\iexplore.exe" /ru DomainX\Admin01

作為響應,SchTasks.exe 索要用于用戶帳戶的密碼。它不顯示鍵入的文本,因此密碼不可見。

Please enter the password for DomainX\Admin01: *********

請注意,/tn 參數標識任務,/tr/ru 參數更改任務的屬性。不能使用另外一個參數來標識任務,而且不能更改任務的名稱。

作為響應,SchTasks.exe 顯示以下成功消息:

成功:計劃任務 "Notepad" 的參數已更改。

這個命令的結果是:RemindMe 任務現在以其初始的用戶帳戶運行,但擁有一個新密碼。

將程序更改為 System 帳戶

下面的命令更改了 SecurityScript 任務以使其以 NT Authority\System 帳戶權限運行。它使用 /ru "" 參數來表示 System 帳戶。

schtasks /change /tn SecurityScript /ru ""

作為響應,SchTasks.exe 顯示以下成功消息:

成功:計劃任務 "SecurityScript" 的參數已更改。

因為任務以 System 帳戶權限運行不需要密碼,所以 SchTasks.exe 不提示輸入密碼。

schtasks run

立即運行計劃任務。run 操作忽略計劃,但使用程序文件位置、用戶帳戶和存儲在任務中的密碼立即運行任務。

語法

schtasks /run /tn TaskName [/s computer [/u [domain\]user /p password]] /?

參數

/tn TaskName
標識任務。該參數是必需的。
/s Computer
指定遠程計算機的名稱或 IP 地址(帶有或者沒有反斜杠)。默認值是本地計算機。
/u [domain\]user
使用特定用戶帳戶的權限運行命令。默認情況下,使用已登錄到運行 SchTasks 的計算機上的用戶的權限運行命令。
/p password
指定在 /u 參數中指定的用戶帳戶的密碼。如果使用 /u 參數,則需要該參數。
/?
在命令提示符顯示幫助。

注釋

    XOX
  • 使用這個操作來測試任務。如果任務沒有運行,請檢查“任務計劃程序服務”事務日志 Systemroot\SchedLgU.txt 以獲取錯誤。
  • 運行任務不會影響任務計劃,不會更改為任務計劃好的下次運行時間。
  • 要遠程運行任務,必須在遠程計算機上計劃任務。在運行該任務時,它僅在遠程計算機上運行。要驗證任務正在遠程計算機上運行,請使用“任務管理器”或“任務計劃程序”事務日志 Systemroot\SchedLgU.txt。

范例

在本地計算機上運行任務

下面的命令啟動 "Security Script" 任務。

schtasks /run /tn "Security Script"

作為響應,SchTasks.exe 啟動與任務相關聯(lián)的腳本并顯示以下消息:

成功:計劃任務 "Security Script" 正在運行 ...
在遠程計算機上運行任務

下面的命令在遠程計算機 Svr01 上運行 Update 任務:

schtasks /run /tn Update /s Svr01

此時,SchTasks.exe 顯示以下錯誤消息:

錯誤:無法運行計劃任務 "Update"。

查看 Svr01 上的 “計劃任務程序”事務日志 C:\Windows\SchedLgU.txt 以獲取錯誤的原因。在這種情況下,日志中顯示以下條目:

 "Update.job" (update.exe) 3/26/2001 1:15:46 PM ** ERROR **
The attempt to log on to the account associated with the task failed, therefore, the task did not run.
	 The specific error is
	0x8007052e:Logon failure:unknown user name or bad password.
	Verify that the task's Run-as name and password are valid and try again.

顯然,任務中的用戶名或密碼在此系統(tǒng)中無效。下面的 schtasks /change 命令為 Svr01 上的 Update 任務更新用戶名和密碼:

schtasks /change /tn Update /s Svr01 /ru Administrator /rp PassW@rd3

change 命令完成之后,重新運行 run 命令。這一次,Update.exe 程序啟動,SchTasks.exe 顯示以下消息:

錯誤:無法運行計劃任務 "Update"。

schtasks end

終止由任務啟動的程序

語法

schtasks /end /tn TaskName [/s computer [/u [domain\]user /p password]] /?

參數

/tn TaskName
標識啟動程序的任務。該參數是必需的。
/s Computer
指定遠程計算機(帶有或者沒有反斜杠)的名稱或 IP 地址。默認值是本地計算機。
/u [domain\]user
使用特定用戶帳戶的權限運行命令。默認情況下,使用已登錄到運行 SchTasks 的計算機上的用戶的權限運行命令。
/p password
指定在 /u 參數中指定的用戶帳戶的密碼。如果使用 /u 參數,則需要該參數。
/?
顯示幫助。

注釋

    XOX
  • SchTasks.exe 只終止由計劃任務啟動的程序實例。要終止其它程序,請使用 TaskKill。它是一個包含在 Windows XP Professional 中的工具。

范例

終止本地計算機上的任務

下面的命令終止由 My Notepad 任務啟動的 Notepad 實例:

schtasks /end /tn "My Notepad"

作為響應,SchTasks.exe 終止了由任務啟動的 Notepad 實例并顯示以下成功消息:

 成功:計劃任務 "My Notepad" 已成功終止。
終止遠程計算機上的任務

下面的命令終止遠程計算機 Svr01 上由 InternetOn 任務啟動的 Internet Explorer 實例:

schtasks /end /tn InternetOn /s Svr01

作為響應,SchTasks.exe 停止由任務啟動的 Internet Explorer 實例并顯示以下成功消息:

成功:計劃任務 "Update" 正在運行...

schtasks delete

刪除計劃任務

語法

schtasks /delete /tn {TaskName | *} [/f] [/s computer [/u [domain\]user /p password]] [/?]

參數

/tn {TaskName | *}
標識要刪除的任務。該參數是必需的。


說明

TaskName
刪除已命名任務。

*
刪除計算機上的所有計劃任務。

 

/f
阻止確認消息。不警告就刪除任務。
/s Computer
指定遠程計算機的名稱或 IP 地址(帶有或者沒有反斜杠)。默認值是本地計算機。
/u [domain\]user
使用特定用戶帳戶的權限運行命令。默認情況下,使用已登錄到運行 SchTasks 的計算機上的用戶的權限運行命令。
/p password
指定在 /u 參數中指定的用戶帳戶的密碼。如果使用 /u 參數,則需要該參數。
/?
在命令提示符顯示幫助。

 

注釋

    XOX
  • delete 操作從計劃表中刪除任務。它不刪除任務運行的程序或中斷正在運行的程序。
  • delete * 命令刪除所有為計算機計劃的任務,而不是僅刪除由當前用戶計劃的任務。

范例

從遠程計算機上的計劃表中刪除任務

下面的命令從遠程計算機上的計劃表中刪除 "Start Mail" 任務。它使用 /s 參數來標識遠程計算機。

schtasks /delete /tn "Start Mail" /s Svr16

作為響應, SchTasks.exe 顯示以下確認消息。要刪除任務,請鍵入 y。要取消命令,請鍵入 n

警告您確定要刪除任務 "Start Mail" 嗎 (Y/N )? y 成功:已成功刪除計劃任務 "Start Mail"。
刪除所有為本地計算機計劃的任務。

下面的命令從本地計算機的計劃表中刪除所有的任務,包括由其它用戶計劃的任務。它使用 /tn * 參數代表計算機上所有的任務,使用/f 參數取消確認消息。

schtasks /delete /tn * /f

作為響應,SchTasks.exe 顯示以下成功消息以表明只刪除了計劃任務 SecureScript。

成功:計劃任務 "SecureScript" 已成功刪除。

schtasks query

顯示計劃在計算機上運行的所有任務,包括那些由其它用戶計劃的任務。

語法

schtasks [/query] [/fo {TABLE | LIST | CSV}] [/nh] [/v] [/s computer [/u [domain\]user /p password]]

參數

[/query]
操作名稱可選。鍵入不帶任何參數的 schtasks 來執(zhí)行查詢。
/fo {TABLE|LIST|CSV}
指定輸出格式。TABLE 為默認值。
/nh
忽略表格顯示中的列標題。此參數與 TABLECSV 輸出格式共同使用時有效。
/v
將任務的高級屬性添加到顯示中。

使用 /v 的查詢應該格式化成 LISTCSV。

 

/s Computer
指定遠程計算機的名稱或 IP 地址(帶有或者沒有反斜杠)。默認值是本地計算機。
/u [domain\]user
使用特定用戶帳戶的權限運行命令。默認情況下,使用已登錄到運行 SchTasks 的計算機上的用戶的權限運行命令。
/p password
指定在 /u 參數中指定的用戶帳戶的密碼。如果使用 /u 參數,則需要該參數。
/?
在命令提示符顯示幫助。

 

注釋

    XOX
  • query 操作列出了為計算機計劃的所有任務,而不只是由當前用戶計劃的任務。

范例

顯示本地計算機上的計劃任務。

下面的命令顯示為本地計算機計劃的所有任務。這些命令得到的結果相同,并可以交換使用。

schtasks

schtasks /query

作為響應,SchTasks.exe 以默認的簡單表格格式顯示任務,如下表所示:

 TaskName                  Next Run Time             Status
========================= ======================== ==============
Microsoft Outlook         At logon time
SecureScript              14:42:00 PM , 2/4/2001
顯示計劃任務的高級屬性

下面的命令要求詳細的顯示本地計算機上的任務。它使用 /v 參數來請求詳細顯示,使用 /fo LIST 參數來將顯示格式化成易于閱讀的列表。這個命令可以用來驗證創(chuàng)建的任務有預期的循環(huán)模式。

schtasks /query /fo LIST /v

作為響應,SchTasks.exe 顯示所有任務的詳細屬性列表。下面的顯示給出了一個計劃在每月最后一個周五的 4:00 A.M. 運行的任務的列表:

 HostName:RESKIT01
TaskName:SecureScript
Next Run Time:4:00:00 AM , 3/30/2001
Status:Not yet run
Last Run Time:Never
Last Result:                               0
Creator:user01
Schedule:At 4:00 AM on the last Fri of every month, starting 3/24/2001
 Task To Run:: C:\WINDOWS\system32\notepad.exe
 Start In:notepad.exe
 Comment:N/A
 Scheduled Task State:Enabled
Scheduled Type:Monthly
Modifier:Last FRIDAY
Start Time4:00:00 AM
Start Date:                                3/24/2001
End Date:N/A
Days:FRIDAY
Months:JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、DEC
Run As User:RESKIT\user01
Delete Task If Not Rescheduled:Enabled
Stop Task If Runs X Hours and X Mins:      72:0
Repeat:Until Time:Disabled
Repeat:Repeat:Disabled
Repeat:Stop If Still Running: Disabled
Idle: Start Time(For IDLE Scheduled Type): Disabled
Idle: Only Start If Idle for X Minutes: Disabled
Idle:If Not Idle Retry For X Minutes: Disabled
Idle: Stop Task If Idle State End: Disabled
Power Mgmt: No Start On Batteries: Disabled
Power Mgmt:Stop On Battery Mode: Disabled
將為遠程計算機計劃的任務記入日志

下面的命令請求為遠程計算機計劃的任務列表,并將任務添加到本地計算機中以逗號分隔的日志文件中。此命令的格式可以用來收集和跟蹤為多個計算機計劃的任務。

命令使用 /s 參數標識遠程計算機 Reskit16,使用 /fo 參數指定格式,使用 /nh 參數取消列標題。>> 附加符號將輸出重定向到本地計算機 Svr01 上的任務日志 p0102.csv。因為命令在遠程計算機上運行,所以本地計算機路徑必須是完全合格的。

schtasks /query /s Reskit16 /fo csv /nh >> \\svr01\data\tasklogs\p0102.csv

作為響應,SchTasks.exe 會把為計算機 Reskit16 計劃的任務添加到本地計算機 Svr01 上的 p0102.csv 文件中。

非常的強大,非常的復雜,但是國內外很多軟件在安裝卸載的時候都會調用這個命令來進行初始化或者卸載。