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

出處:http://www.win7china.com/html/12005.html


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

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

schtasks 命令簡述:

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

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

1、SchTasks.exe 執行的操作類似於“控制面板”中“計劃任務”中的操作。可以使用兩種工具中的任一種來創建、刪除、配置或顯示計劃任務。

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

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

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

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

錯誤:數據非法。

已損壞任務無法恢復。要恢復系統的計劃任務特徵,請使用 SchTasks.exe 或“計劃任務”從系統中刪除任務並重新計劃。

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

Schtasks 計劃任務參數 詳解

[
      注意:a. 命令行創建的計劃任務有空格而不能創建的情況的解決方案:在含有看空格的參數或則路徑前面加上 \"  進行轉義,這樣就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    
創建新的計劃任務。

語法

schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo modifier] [/d day] [/mmonth[,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             指定任務運行的程序或命令。鍵入可執行文件、腳本文件或批處理文件的完全合格的路徑和文件名。
                               如果忽略該路徑,SchTasks.exe 將假定文件在 Systemroot\System32 目錄下。
/sc schedule           指定計劃類型。有效值爲 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。


值說明

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

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

ONSTART
任務在每次系統啓動的時候運行。可以指定啓動的日期,或下一次系統啓動的時候運行任務。

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

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

 

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

計劃類型
修飾符
說明

MINUTE
1 ~ 1439
任務每 n 分鐘運行一次。

HOURLY
1 ~ 23
任務每 n 小時運行一次。

DAILY
1 ~ 365
任務每 n 天運行一次。

WEEKLY
1 ~ 52
任務每 n 周運行一次。

MONTHLY
1 ~ 12
任務每 n 月運行一次。

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

FIRSTSECONDTHIRDFOURTHLAST
與 /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" 或 ""
指定操作系統使用的 NT Authority\System 帳戶。

 

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

註釋

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

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

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

schtasks create minute

語法

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

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

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

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" 已成功創建。

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

 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] [/sdStartDate] [/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] [/sdStartDate] [/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}] [/stStartTime] [/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

語法
常規月計劃語法
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[,JANDEC...] | *}] [/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]]

範例
計劃任務在每次系統啓動的時候運行

下面的命令計劃 MyApp 程序在每次系統啓動的時候運行,起始日期是 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 參數指定在啓動任務之前計算機必需持續空閒十分鐘。

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

更多範例

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

創建以 System 權限運行的任務

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

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

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

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

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

創建運行多個程序的任務

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

  1. 創建一個啓動要運行程序的批處理文件。

    在這個範例中創建了一個啓動“事件查看器”(Eventvwr.exe) 和“系統監視器”(Perfmon.exe) 的批處理文件。

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

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

    • 將文件存儲爲 MyApps.bat。
  2. 使用 SchTasks.exe 創建一個運行 MyApps.bat 的任務。

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

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

    該命令的結果是,每當用戶登錄到計算機,任務就啓動“事件查看器”和“系統監視器”。 

更改計劃任務

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

  • 任務運行的程序 (/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
更改任務運行的程序。輸入可執行文件、腳本文件或批處理文件的完全合格的路徑和文件名。如果忽略了路徑,SchTasks.exe 假定文件在 Systemroot\System32 目錄下指定的程序替換任務最初運行的程序。
/ru [Domain\]User | "System"
更改用於任務的用戶帳戶。


說明

[domain\]User
指定用戶帳戶

"System" or ""
指定爲操作系統所使用的 NT Authority\System 帳戶。

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

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

 

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

註釋

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

範例

更改任務運行的程序

下面的命令將 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 啓動與任務相關聯的腳本並顯示以下消息:

成功:計劃任務 "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.

顯然,任務中的用戶名或密碼在此係統中無效。下面的 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 /ppassword]]

參數

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

使用 /v 的查詢應該格式化成 LIST 或 CSV

 

/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 參數來將顯示格式化成易於閱讀的列表。這個命令可以用來驗證創建的任務有預期的循環模式。

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 文件中。

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章