windows xp 定时执行任务(二)
http://lyflinux.blog.sohu.com/100371513.html
更改计划任务
- 任务运行的程序 (/tr)。
- 任务运行的用户帐户 (/ru)。
- 用户帐户的密码 (/rp)。
语法
schtasks/change/tn[/s[/u[\]/p]][/tr][/ru[\]|"System"][/rp]
参数
/tn
标识要更改的任务。输入任务名。
/s
指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。
/u[\]
使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。
/p
指定在/u参数中指定的用户帐户的密码。如果使用/u参数,则需要该参数。
/tr
更改任务运行的程序。输入可执行文件、脚本文件或批处理文件的完全合格的路径和文件名。如果忽略了路径,SchTasks.exe 假定文件在\System32 目录下指定的程序替换任务最初运行的程序。
/ru[\]|"System"
更改用于任务的用户帐户。
值
说明
[\]
指定用户帐户
"System"or""
指定为操作系统所使用的 NT Authority\System 帐户。
在更改用户帐户的时候,必须也要更改用户密码。如果命令带有/ru参数,但没有/rp参数,SchTasks.exe 提示要求输入新的密码而且不显示键入的文本。
任务以不需要密码的 NT Authority\System 帐户权限运行,SchTasks.exe 不会提示输入密码。
/p
更改用于任务的帐户密码。输入新的密码。
/?
在命令提示符显示帮助。
注释
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 帐户
下面的命令更改了 Securityscrīpt 任务以使其以 NT Authority\System 帐户权限运行。它使用/ru ""参数来表示 System 帐户。
schtasks /change /tn Securityscrīpt /ru ""
作为响应,SchTasks.exe 显示以下成功消息:
成功:计划任务 "Securityscrīpt" 的参数已更改。
因为任务以 System 帐户权限运行不需要密码,所以 SchTasks.exe 不提示输入密码。
schtasks run
立即运行计划任务。run操作忽略计划,但使用程序文件位置、用户帐户和存储在任务中的密码立即运行任务。
语法
schtasks/run/tn[/s[/u[\]/p]]/?
参数
/tn
标识任务。该参数是必需的。
/s
指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。
/u[\]
使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。
/p
指定在/u参数中指定的用户帐户的密码。如果使用/u参数,则需要该参数。
/?
在命令提示符显示帮助。
注释
XOX
- 使用这个操作来测试任务。如果任务没有运行,请检查“任务计划程序服务”事务日志\SchedLgU.txt 以获取错误。
- 运行任务不会影响任务计划,不会更改为任务计划好的下次运行时间。
- 要远程运行任务,必须在远程计算机上计划任务。在运行该任务时,它仅在远程计算机上运行。要验证任务正在远程计算机上运行,请使用“任务管理器”或“任务计划程序”事务日志\SchedLgU.txt。
范例
在本地计算机上运行任务
下面的命令启动 "Security scrīpt" 任务。
schtasks /run /tn "Security scrīpt"
作为响应,SchTasks.exe 启动与任务相关联的脚本并显示以下消息:
成功:计划任务 "Security scrīpt" 正在运行 ...
在远程计算机上运行任务
下面的命令在远程计算机 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[/s[/u[\]/p]]/?
参数
/tn
标识启动程序的任务。该参数是必需的。
/s
指定远程计算机(带有或者没有反斜杠)的名称或 IP 地址。默认值是本地计算机。
/u[\]
使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。
/p
指定在/u参数中指定的用户帐户的密码。如果使用/u参数,则需要该参数。
/?
显示帮助。
注释
XOX
- SchTasks.exe 只终止由计划任务启动的程序实例。要终止其它程序,请使用 TaskKill。它是一个包含在 Windows XP Professional 中的工具。有关 TaskKill 的详细信息,请参阅 TaskKill。
范例
终止本地计算机上的任务
下面的命令终止由 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{| *}[/f][/s[/u[\]/p]][/?]
参数
/tn{| *}
标识要删除的任务。该参数是必需的。
值
说明
删除已命名任务。
删除计算机上的所有计划任务。
/f
阻止确认消息。不警告就删除任务。
/s
指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。
/u[\]
使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。
/p
指定在/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 显示以下成功消息以表明只删除了计划任务 Securescrīpt。
成功:计划任务 "Securescrīpt" 已成功删除。
schtasks query
显示计划在计算机上运行的所有任务,包括那些由其它用户计划的任务。
语法
schtasks[/query][/fo{TABLE|LIST|CSV}][/nh][/v][/s[/u[\]/p]]
参数
[/query]
操作名称可选。键入不带任何参数的schtasks来执行查询。
/fo{TABLE|LIST|CSV}
指定输出格式。TABLE为默认值。
/nh
忽略表格显示中的列标题。此参数与TABLE和CSV输出格式共同使用时有效。
/v
将任务的高级属性添加到显示中。
使用/v的查询应该格式化成LIST或CSV。
/s
指定远程计算机的名称或 IP 地址(带有或者没有反斜杠)。默认值是本地计算机。
/u[\]
使用特定用户帐户的权限运行命令。默认情况下,使用已登录到运行 SchTasks 的计算机上的用户的权限运行命令。
/p
指定在/u参数中指定的用户帐户的密码。如果使用/u参数,则需要该参数。
/?
在命令提示符显示帮助。
注释
XOX
- query操作列出了为计算机计划的所有任务,而不只是由当前用户计划的任务。
范例
显示本地计算机上的计划任务。
下面的命令显示为本地计算机计划的所有任务。这些命令得到的结果相同,并可以交换使用。
schtasks
schtasks /query
作为响应,SchTasks.exe 以默认的简单表格格式显示任务,如下表所示:
TaskName Next Run Time Status
========================= ======================== ==============
Microsoft Outlook At logon time
Securescrīpt 14:42:00 PM , 2/4/2001
显示计划任务的高级属性
下面的命令要求详细的显示本地计算机上的任务。它使用/v参数来请求详细显示,使用/fo LIST参数来将显示格式化成易于阅读的列表。这个命令可以用来验证创建的任务有预期的循环模式。
schtasks /query /fo LIST /v
作为响应,SchTasks.exe 显示所有任务的详细属性列表。下面的显示给出了一个计划在每月最后一个周五的 4:00 A.M. 运行的任务的列表:
HostName:RESKIT01
TaskName:Securescrīpt
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 组的成员。
- 要确认计划运行或要找出计划不运行的原因,请查看“任务计划”服务事务日志\SchedLgU.txt。该日志记录了由包括“计划任务”和 SchTasks.exe 在内的所有使用该服务的工具启动的尝试运行。
- 损坏任务文件的情况极少发生。已损坏文件不会运行。在已损坏任务上试图执行某项操作时,SchTasks.exe 显示以下错误消息:
错误:数据非法。
已损坏任务无法恢复。要恢复系统的计划任务特征,请使用 SchTasks.exe 或“计划任务”从系统中删除任务并重新计划。
SchTasks.exe 取代了包含在 Windows 早期版本中的工具