我想编写一个脚本来停止远程计算机上的计划任务,做一些事情,然后重新启动计划任务。
我该怎么做?
这是我发现的。
停止:
schtasks /end /s <machine name> /tn <task name>
开始:
schtasks /run /s <machine name> /tn <task name>
C:\>schtasks /?
SCHTASKS /parameter [arguments]
Description:
Enables an administrator to create, delete, query, change, run and
end scheduled tasks on a local or remote system. Replaces AT.exe.
Parameter List:
/Create Creates a new scheduled task.
/Delete Deletes the scheduled task(s).
/Query Displays all scheduled tasks.
/Change Changes the properties of scheduled task.
/Run Runs the scheduled task immediately.
/End Stops the currently running scheduled task.
/? Displays this help message.
Examples:
SCHTASKS
SCHTASKS /?
SCHTASKS /Run /?
SCHTASKS /End /?
SCHTASKS /Create /?
SCHTASKS /Delete /?
SCHTASKS /Query /?
SCHTASKS /Change /?
注意: “schtasks”(参见另一个已接受的回复)已替换为“at”。但是,如果情况需要与没有 schtasks 的旧版本的 Windows 兼容,则“at”可能有用。
“at”的命令行帮助:
C:\>在 /? AT 命令调度命令和程序在计算机上运行 指定的时间和日期。计划服务必须正在运行才能使用 AT 命令。 AT [\\计算机名] [[id] [/DELETE] | /删除[/是]] 在 [\\computername] 时间 [/INTERACTIVE] [ /EVERY:日期[,...] | /NEXT:date[,...]] "命令" \\computername 指定远程计算机。命令安排在 如果省略此参数,则为本地计算机。 id 是分配给计划的标识号 命令。 /delete 取消预定的命令。如果省略 id,则所有 计算机上的预定命令被取消。 /yes 与取消所有作业命令一起使用 需要确认。 time 指定命令运行的时间。 /interactive 允许作业与用户的桌面交互 作业运行时登录的人员。 /every:date[,...] 在一周中的每个指定日期运行命令或 月。如果省略日期,则为月份的当前日期 假设。 /next:date[,...] 在下次出现 天(例如,下周四)。如果省略日期,则 假定为当前日期。 “command” 是要运行的 Windows NT 命令或批处理程序。
怎么样/disable
, 并/enable
切换为/change
命令?
schtasks.exe /change /s <machine name> /tn <task name> /disable
schtasks.exe /change /s <machine name> /tn <task name> /enable
schtasks /change /disable /tn "Name Of Task" /s REMOTEMACHINENAME /u mydomain\administrator /p adminpassword
试试这个:
schtasks /change /ENABLE /tn "Auto Restart" /s mycomutername /u mycomputername\username/p mypassowrd