windows任务计划

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

任务计划命令
语法
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] [/Z] [/F]

参数
/sc
ScheduleType
指定计划类型。
有效值为 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。
MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 指定计划的时间单位。
ONCE 任务在指定的日期和时间运行一次。
ONSTART 任务在每次系统启动的时候运行。可以指定启动的日期,或下一次系统启动的时候运行任务。
ONLOGON 每当用户(任意用户)登录的时候,任务就运行。可以指定日期,或在下次用户登录的时候运行任务。
ONIDLE 只要系统空闲了指定的时间,任务就运行。可以指定日期,或在下次系统空闲的时候运行任务。

/tn
TaskName
指定任务的名称。
系统上的每项任务都必须具有一个唯一的名称。名称必须符合文件名称规则,并且不得超过 238 个字符。使用引号括起包含空格的名称。
/tr
TaskRun
指定任务运行的程序或命令。
键入可执行文件、脚本文件或批处理文件的完全合格的路径和文件名。路径名称不得超过 262 个字符。如果忽略该路径,SchTasks 将假定文件在 SystemrootSystem32 目录下。
/s
Computer
在指定的远程计算机上计划任务。
键入远程计算机的名称或 IP 地址(带有或者没有反斜杠)。该默认值是本地计算机。只有使用 /s 时 /u 和 /p 参数才有效。
/u
[Domain]User
使用指定的用户帐户的权限运行该命令。
默认值为本地计算机上当前用户的权限。只有在远程计算机 (/s) 上计划任务时 /u 和 /p 参数才有效。
指定帐户的权限用来计划任务和运行任务。要利用另一个用户的权限运行任务,请使用 /ru 参数。
用户帐户必须是远程计算机上 Administrators 组的成员。另外,本地计算机必须与远程计算机处于同一个域,或者必须处于一个远程计算机信任的域中。

/p
Password
提供在 /u 参数中指定的用户帐户的密码。
如果使用 /u 参数,但忽略 /p 参数或密码参数,Schtasks 将提示您输入密码,并且不显示键入的文本。
只有在远程计算机 (/s) 上计划任务时 /u 和 /p 参数才有效。

/ru
{[Domain]User | System}
使用指定用户帐户的权限运行任务。
默认情况下,使用本地计算机当前用户的权限,或者使用 /u 参数指定的用户的权限(如果包含的话)运行任务。在本地或远程计算机上计划任务时,/ru 参数才有效。 值 描述 [Domain]User 指定候选用户帐户。
System 或 "" 指定 Local System

帐户,这是一种操作系统和系统服务使用的具有高度特权的帐户。

/rp
Password
提供 /ru [Domain]User 参数中指定的用户帐户的密码。
如果在指定用户帐户的时候忽略了这个参数,SchTasks.exe 会提示您输入密码而且不显示键入的文本。不要将 /rp 参数用于使用系统帐户 (/ru System) 的权限运行的任务。系统帐户没有密码,而 SchTasks.exe 也不提示要求密码。

/mo
Modifier
指定任务在其计划类型内的运行频率。
对于 MINUTE、HOURLY、DAILY、WEEKLY 或 MONTHLY 计划,这个参数有效,但也可选。默认值为 1。 计划类型 修饰符值 描述
MINUTE 1 - 1439 任务每 N 分钟运行一次。
HOURLY 1 - 23 任务每 N 小时运行一次。
DAILY 1 - 365 任务每 N 天运行一次。
WEEKLY 1 - 52 任务每 N 周运行一次。
ONCE 没有修饰符。 任务运行一次。
ONSTART 没有修饰符。 任务在启动时运行。
ONLOGON 没有修饰符。 /u 参数指定的用户登录时,任务运行。
ONIDLE 没有修饰符。 系统闲置 /i 参数(需要与 ONIDLE 一起使用)指定的分钟数之后运行任务。
MONTHLY 1 - 12 任务每 N 月运行一次。
MONTHLY LASTDAY 任务在月份的最后一天运行。
MONTHLY FIRST、SECOND、THIRD、FOURTH、LAST 与 /d Day 参数共同使用,并在特定的周和天运行任务。例如,在月份的第三个周三。

/d
Day[,Day...] | *
指定周或月的一天(或几天)。
只与 WEEKLY 或 MONTHLY 计划共同使用时有效。 计划类型 修饰符 天值 (/d) 描述
WEEKLY 1 - 52 MON - SUN[, MON - SUN...]| * 可选项。MON 是默认值。通配符值 (*) 指每天。
MONTHLY FIRST、SECOND、THIRD、FOURTH、LAST MON - SUN 特定周计划需要。
MONTHLY 无或 {1 - 12} 1 - 31 仅在没有修饰符 (/mo) 参数(特定日期计划)的情况下或 /mo 为 1 - 12(“每 N 月”计划)时有效并且可选。默认值是 1 (月份的第一天)。

/m
Month[,Month...]
指定计划任务应在一年的某月或数月运行。
有效值是 JAN - DEC 和 * (每个月)。/m 参数只对于 MONTHLY 计划有效。在使用 LASTDAY 修饰符时,这个参数是必需的。在其他的情况下,它是可选的,默认值是 * (每个月)。
/i
IdleTime
指定任务启动之前计算机空闲多少分钟。
有效值是从 1 到 999 的整数。这个参数只对于 ONIDLE 计划有效,而且是必需的。
/st
StartTime
指定任务在一天的什么时间开始(每次开始时间),格式为 HH:MM 24 小时格式。
默认值为本地计算机的当前时间。/st 参数只对于 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 和 ONCE 计划有效。此参数对于 ONCE 计划是必需的。
/ri
Interval
指定重复的时间间隔(以分钟计)。
这不适用于计划类型:MINUTE、HOURLY、ONSTART、ONLOGON、ONIDLE。有效范围为 1 到 599940 分钟(599940 分钟 =

9999 小时)。如果指定了 /ET 或 /DU,则重复间隔默认为 10 分钟。
/et
EndTime
指定“分钟”或“小时”任务计划在一天的什么时间结束,格式为 HH:MM 24 小时格式。指定的结束时间之后,Schtasks 不重新开始任务,直到开始时间再次到来。默认情况下,任务计划没有结束时间。该参数是可选的,并且仅对于“分钟”或“小时”计划才有效。
/du
Duration
指定“分钟”或“小时”计划的最大时间长度,格式为 HHHH:MM 24 小时格式。
指定的时间过去之后,Schtasks 不重新启动任务,直到开始时间再次到来。默认情况下,任务计划没有最大持续时间。该参数是可选的,并且仅对于“分钟”或“小时”计划才有效。
/k
停止在 /et 或 /du 指定的时间运行任务的程序。
如果没有 /k,Schtasks 在到达 /et 或 /du 指定的时间之后就不重新启动程序,但不会停止仍然在运行的程序。该参数是可选的,并且仅对于“分钟”或“小时”计划才有效。
/sd
StartDate
指定任务计划开始的日期。
默认值为本地计算机上的当前日期。/sd 对于所有计划类型有效,并且为可选。
StartDate 参数的格式随在“控制面板”中的 区域和语言选项中为本地计算机选择的区域而变化。每个区域只能使用一种格式。

下表列出了有效的日期格式。使用与本地计算机控制面板的“区域和语言选项”中为“短日期”所选格式最为相似的格式。

MM/DD/YYYY 用于以月开头的格式,例如英语(美国)和西班牙语(巴拿马)。
DD/MM/YYYY 用于以日开头的格式,例如保加利亚语和荷兰语(荷兰)。
YYYY/MM/DD 用于以年开头的格式,例如瑞典语和法语(加拿大)。

/ed
EndDate
指定计划结束的日期。
此参数是可选的。它对于 ONCE、ONSTART、ONLOGON 或 ONIDLE 计划无效。默认情况下,计划没有结束日期。
EndDate 参数的格式随在“控制面板”中的 区域和语言选项中为本地计算机选择的区域的不同而变化。每个区域只能使用一种格式。

下表列出了有效的日期格式。使用与本地计算机控制面板的“区域和语言选项”中为“短日期”所选格式最为相似的格式。

MM/DD/YYYY 用于以月开头的格式,例如英语(美国)和西班牙语(巴拿马)。
DD/MM/YYYY 用于以日开头的格式,例如保加利亚语和荷兰语(荷兰)。
YYYY/MM/DD 用于以年开头的格式,例如瑞典语和法语(加拿大)。

/it
指定只有在“运行方式”用户(运行任务的用户帐户)登录到计算机的情况下才运行任务。此参数不影响使用系统权限运行的任务。
默认情况下,当计划任务时或使用 /u 参数指定帐户时,“运行方式”用户是本地计算机的当前用户(如果使用了该

参数)。但是,如果该命令包含 /ru 参数,“运行方式”用户则是由 /ru 参数指定的帐户。
/Z
指定在任务计划完成时删除任务。
/F
指定如果指定任务已经存在,就创建任务并取消警告。
/?
在命令提示符下显示帮助。信息如下:

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]

描述:
允许管理员在本地或远程系统上创建计划任务。

参数列表:
/S system 指定要连接到的远程系统。如果省略这个
系统参数,默认是本地系统。

/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 改进计划类型以允许更好地控制计划重复
周期。有效值列于下面“修改者”部分中。

/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。默认到当前时间。

/RI interval 用分钟指定重复间隔。这无法应用于
已计划的类型: MINUTE, HOURLY,
ONSTART, ONLOGON, ONIDLE。
有效范围: 1 - 599940 分钟。
如果指定了 /ET 或 /DU,它会默认到
10 分钟。

/ET endtime 指定运行任务的结束时间。
时间格式是 HH:mm (24 小时时间)
例如 14:50 为 2:50 PM。这无法运用于
计划类型: ONSTART, ONLOGON, ONIDLE。

/DU duration 指定运行此任务的持续时间。
时间格式是 HHHH:mm。
这不适用于 /ET 和计划类型: ONSTART,
ONLOGON, ONIDLE。如果指定了 /RI,
那么默认为 1 小时。

/K 在结束时间或持续时间终止此任务。
这不适用于计划类型: ONSTART,
ONLOGON, ONIDLE。必须指定 /ET
或 /DU。

/SD startdate 指定第一次运行这个
任务的日期。格式是 yyyy/mm/dd。
默认为当前时间。这不适用于计划
类型: ONCE, ONSTART, ONLOGON,
ONIDLE.

/ED enddate 指定此任务运行的最后一天的日期。
格式是 yyyy/mm/dd。
这不适用于计划类型: ONCE, ONSTART,
ONLOGON, ONIDLE。

/IT /RU 用户在此作业运行时登录才启
用此任务用交互方式运行。
用户登录后此任务才运行。

/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。

示例:
==> 在远程机器 "ABC" 上创建计划任务 "doc",
该机器每小时在 "runasuser" 用户下运行 notepad.exe。

SCHTASKS /Create /S ABC /U user /P password /RU runasuser
/RP runaspassword /SC HOURLY /TN doc /TR notepad

==> 在远程机器 "ABC" 上创建计划任务 "accountant",
在指定的开始日期和结束日期之间的开始时间和结束时间内,
每隔五分钟运行 calc.exe。

SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE
/MO 5 /TN accountant /TR calc.exe /ST 12:00 /ET 14:00
/SD 2002/12/30 /ED 2002/12/30 /RU runasuser /RP

==> 创建计划任务 "gametime",在每月的第一个星期天
运行“空当接龙”。

SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN gametime
/TR c:\windows\system32\freecell

==> 在远程机器 "ABC" 创建计划任务 "report",
每个星期运行 notepad.exe。

SCHTASKS /Create /S ABC /U user /P password /RU runasuser
/RP runaspassword /SC WEEKLY /TN report /TR notepad.exe

==> 在远程机器 "ABC" 创建计划任务 "logtracker",
每隔五分钟从指定的开始时间到无结束时间,
运行 notepad.exe。将提示输入 /RP
密码。

SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE
/MO 5 /TN logtracker
/TR c:\windows\system32\notepad.exe /ST 18:30
/RU runasuser /RP

==> 创建计划任务 "gaming",每天从 12:00 点开始到
14:00 点自动结束,运行 freecell.exe。

SCHTASKS /Create /SC HOURLY /TN gaming /TR c:\freecell /ST 12:00
/ET 14:00 /K

参考范例
计划任务每 20 分钟运行一次。
下面的命令计划安全脚本 Sec.vbs 每 20 分钟运行一次。由于命令没有包含起始日期或时间,任务在命令完成 20 分钟后启动,此后每当系统运行它就每 20 分钟运行一次。请注意,安全脚本源文件位于远程计算机上,但任务在本地计算机上计划并执行。

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

作为响应,SchTasks.exe 显示一条消息来说明任务会以当前用户的权限运行并需要当前用户的密码。

计划

命令在每小时过五分的时候运行。
下面的命令将计划 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

计划任务每天运行一次
下面的范例计划 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

计划任务每六周运行一次
下面的命令计划 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 [do

main\]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]]

计划任务在每次系统启动的时候运行
下面的命令计划 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" 已成功创建。

创建运行多个程序的任务
每个任务只能运行一个程序。但是可以创建一个运行多个程序的批处理文件,然后计划一个任务来运行该批处理文件。下面的过程说明了这个方法:

创建一个启动要运行程序的批处理文件。
在这个范例中创建了一个启动“事件查看器”(Eventvwr.exe) 和“系统监视器”(Perfmon.exe) 的批处理文件。

启动文本编辑器,例如“记事本”。
键入每个程序的名称和指向可执行文件的完全合格的路径。在这种情况下,文件包含有下列语句。
C:\Windows\System32\Eventvwr.exe
C:\Windows\System32\Perfmon.exe

将文件存储为 MyApps.bat。
使用 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

该命令的结果是,每当用户登录到计算机,任务就启动“事件查看器”和“系统监视器”。

更改计划任务
语法
schtasks /change /tn TaskName [/s computer [/u [domain\]user /p password]] [/tr TaskRun] [/ru [Domain\]User | "System"] [/rp Password]


1. 在更改用户帐户的时候,必须也要更改用户密码。如果命令带有 /ru 参数,但没有 /rp 参数,SchTasks.exe 提示要求输入新的密码而且不显示键入的文本。

2. 任务以不需要密码的 NT Authority\System 帐户权限运行,SchTasks.exe 不会提示输入密码。/tn 和 /s 参数标识该任务。/tr、/ru 和 /rp 参数指定可以更改的任务属性。
3. 使用 change 操作的命令必须至少更改一个任务属性。
范例
1. 更改任务运行的程序

下面的命令将 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。

2. 更改远程任务的用户密码

下面的命令更改用于远程计算机 Svr01 上 RemindMe 任务的用户帐户密码。命令使用 /tn 参数标识任务,使用 /s 参数指定远程计算机。它使用 /rp 参数指定新的密码 p@ssWord3。

在用户帐户密码过期或更改的时候需要此过程。如果存储在任务中的密码无效,那么任务不会运行。

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

作为响应,SchTasks.exe 显示以下成功消息:

成功:计划任务 "RemindMe" 的参数已更改。
这个命令的结果是,RemindMe 任务现在以其初始的用户帐户运行,但拥有一个新密码。

3. 更改任务的程序和用户帐户

下面的命令更改任务运行的程序以及任务运行的用户帐户。实质上,它将旧的计划用于新的任务。这个命令将每天早上 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 任务现在以其初始的用户帐户运行,但拥有一个新密码。

4. 将程序更改为 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]] /?

范例
在本地计算机上运行任务
下面的命令启动 "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]] /?

范例
终止本地计算机上的任务
下面的命令终止由 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 参数,则需要该参数。
/?
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 来执行查询。
/fo {TABLE|LIST|CSV}
指定输出格式。TABLE 为默认值。
/nh
忽略表格显示中的列标题。此参数与 TABLE 和 CSV 输出格式共同使用时有效。
/v
将任务的高级属性添加到显示中。
使用 /v 的查询应该格式化成 LIST 或 CSV。

/s Computer
指定远程计算

机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。
/u [domain\]user
使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。
/p password
指定在 /u 参数中指定的用户帐户的密码。如果使用 /u 参数,则需要该参数。
/?
在命令提示符显示帮助。
范例
显示本地计算机上的计划任务。
下面的命令显示为本地计算机计划的所有任务。这些命令得到的结果相同,并可以交换使用。

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

注释
SchTasks.exe 执行的操作类似于“控制面板”中“计划任务”中的操作。可以使用两种工具中的任一种来创建、删除、配置或显示计划任务。
键入不带任何参数的 schtasks 执行查询。
用户必须是命令起作用的计算机上的 Administrators 组的成员。
要确认计划运行或要找出计划不运行的原因,请查看“任务计划”服务事务日志 Systemroot\SchedLgU.txt。该日志记录了由包括“计划任务”和 SchTasks.exe 在内的所有使用该服务的工具启动的尝试运行。
损坏任务文件的情况极少发生。已损坏文件不会运行。在已损坏任务上试图执行某项操作时,SchTasks.exe 显示以下错误消息:
错误:数据非法。
已损坏任务无法恢复。要恢复系统的计划任务特征,请使用 SchTasks.exe 或“计划任务”从系统中删除任务并重新计划。

SchTasks.exe 取代了包含在 Windows 早期版本中的工具 At.exe。

相关文档
最新文档