计划任务。
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 参数。 用户帐户必须是远程计算机上 Administrators 组的成员。 此外,本地计算机必须与远程计算机位于同一域中,或者必须位于远程计算机域信任的域中。 |
/p <password> |
指定 /u 参数中指定的用户帐户的密码。 如果使用 /u 参数而不使用 /p 参数或密码参数,则 schtasks 将提示您输入密码。 /u 和 /p 参数仅在使用 /s 时有效。 |
/ru {[<domain>]<user> | system} |
使用指定用户帐户的权限运行任务。 默认情况下,任务以本地计算机的当前用户的权限运行,或者以 /u 参数指定的用户的权限(如果包含)运行。
/ru 参数在本地或远程计算机上计划任务时有效。 有效选项包括:
|
/rp <password> |
指定现有用户帐户的密码,或由 /ru 参数指定的用户帐户。 如果在指定用户帐户时未使用此参数,SchTasks.exe 将在下次登录时提示输入密码。 不要对使用系统帐户凭据 (/ru 系统) 运行的任务使用 /rp 参数。 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 小时格式指定分钟或小时计划的最长时间。 在指定的时间过后,在开始时间重复之前,schtask 不会再次启动任务。 默认情况下,任务计划没有最长持续时间。 此参数为可选参数,仅对 MINUTE 或 HOURLY 计划有效。 |
| /k | 停止任务在 /et 或 /du 指定的时间运行的程序。 如果没有 /k,schtasks 在达到 /et 或 /du 指定的时间后不会再次启动程序,如果程序仍在运行,也不会停止程序。 此参数为可选参数,仅对 MINUTE 或 HOURLY 计划有效。 |
/sd <Startdate> |
指定任务计划的开始日期。 默认值为本地计算机的当前日期。
开始日期的格式因在“区域和语言选项”中为本地计算机选择的区域设置而异。 每个区域设置只有一种格式有效。 有效的日期格式包括(确保选择与本地计算机上的“区域和语言选项”中的“短日期”选择的格式最相似的格式):
|
/ed <Enddate> |
指定计划的结束日期。 此参数是可选的。 此参数在 ONCE、ONSTART、ONLOGON、ONIDLE 或 ONEVENT 计划中无效。 默认情况下,计划没有结束日期。 默认值为本地计算机的当前日期。
“结束日期”的格式因在“区域和语言选项”中为本地计算机选择的区域设置而异。 每个区域设置只有一种格式有效。 有效的日期格式包括(确保选择与本地计算机上的“区域和语言选项”中的“短日期”选择的格式最相似的格式):
|
/电子商务 <channelname> |
指定由与系统事件日志条件匹配的 ONEVENT 计划类型触发的事件通道名称。 |
| /it | 指定仅当以用户身份运行(运行任务的用户帐户)登录到计算机时才运行计划任务。 此参数对使用系统权限运行的任务或已设置了仅交互式属性的任务没有影响。 不能使用更改命令从任务中删除仅交互式属性。 默认情况下,以用户身份运行是计划任务时本地计算机的当前用户,或者是 /u 参数指定的帐户(如果使用)。 但是,如果命令包含 /ru 参数,则以用户身份运行是 /ru 参数指定的帐户。 |
| /np | 不存储任何密码。 任务以给定用户身份以非交互方式运行。 只有本地资源可用。 |
| /z | 指定在任务完成其计划后删除任务。 |
/xml <xmlfile> |
创建在 XML 文件中指定的任务。 可以与 /ru 和 /rp 参数组合,如果 XML 文件已包含用户帐户信息,则可以单独与 /rp 参数组合。 |
| /v1 | 创建对 Vista 之前的操作系统可见的任务。 这与 /XML 参数不兼容。 |
| /f | 指定创建任务,如果指定的任务已存在,则禁止显示警告。 |
/rl <level> |
指定作业的运行级别。 可接受的值为 LIMITED (计划任务将以最低级别的权限运行,例如标准用户帐户)和 HIGHEST (计划任务将以最高级别的权限运行,例如超级用户帐户)。 默认值为 “有限”。 |
/延迟 <delaytime> |
指定在触发后延迟运行任务的等待时间(采用 mmmm:ss 格式)。 这仅适用于 ONSTART、ONLOGON 和 ONEVENT 计划类型。 |
| /hresult | 指定要采用 HRESULT 格式的进程退出代码。 |
| /? | 在命令提示符下显示帮助。 |
计划每 <n> 分钟运行一次任务
在分钟计划中, 需要 /sc minute 参数。 /mo(修饰符)参数是可选的,指定每次运行任务之间的分钟数。 /mo 的默认值为 1(每分钟)。 /et(结束时间)和 /du(持续时间)参数是可选的,可以与 /k(结束任务)参数一起使用,也可以不与 /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
若要计划从 2002 年 3 月的第一天开始每 5 小时运行一次 MyApp 程序,请键入:
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 程序每 12 天在下午 1:00 (13:00) 运行一次(从 2021 年 12 月 31 日开始),请键入:
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 参数,用于计划任务在一周中的指定日期或所有日期 () 运行。 默认值为周一(星期一)。 “每天 ()”选项等效于计划每日任务。
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 monthly 参数是必需的。 /mo(修饰符)参数(指定每次任务运行之间的月数)是可选的,默认值为 1(每月)。 此计划类型还具有可选的 /d 参数,用于计划任务在当月的指定日期运行。 默认值为 1 (当月的第一天)。
Examples
若要计划让 MyApp 程序在每月的第一天运行,请键入:
schtasks /create /tn MyApp /tr myapp.exe /sc monthly/mo(修饰符)参数和 /d(天)参数的默认值均为 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 参数是可选的,它将任务安排在一周中的指定日期或所有日期 (*) 运行。 默认值为周一(星期一)。 “每天”选项 (/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(月)参数是可选的,默认值为每月 (),而 /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 参数来指定计算机必须在任务启动前保持空闲 10 分钟。
计划立即运行的任务
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 参数指定有权在远程计算机上计划任务的帐户 (Marketing 计算机上的 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,“登录模式”字段的值为“Background only”。
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 参数。 否则,远程计算机无法对指定的用户帐户进行身份验证,并且无法验证该帐户是否为 Administrators 组的成员。
该任务必须具有足够的权限才能在远程计算机上运行。 所需权限因任务而异。 默认情况下,任务在本地计算机的当前用户的权限下运行,或者,如果使用 /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) 。 Administrator 帐户权限将用于计划任务和运行任务。
由于该命令不包含 /p (密码)参数,因此 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 参数指定的帐户进行身份验证。 在这种情况下,远程域无法对用户帐户进行身份验证,因为本地计算机不是远程计算机域信任的域的成员。 发生这种情况时,任务作业将显示在计划任务列表中,但任务实际上为空,不会运行。
详细查询显示的以下内容为任务的问题。 请注意,显示的内容中,“下一次运行时间”的值为“从不”,“以用户身份运行”的值为“无法从任务计划程序数据库检索”。
如果此计算机是同一域或受信任域的成员,则已成功计划任务并按指定运行。
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) 是否存在错误。