我们目前在我们的服务器2008上的Windows任务计划程序中安排了数百个任务。有许多任务每半小时无限期运行一次。有没有办法使用脚本来更改这些任务的触发器,以便它们每半小时只运行一次M-F?
答案 0 :(得分:2)
是的,如果您使用TaskService COM object。有关使用此对象的一些示例脚本,请参阅以下内容:
Rename Scheduled Tasks in Windows 7, Windows Server 2008, and Windows Vista
How-To: Use PowerShell to Report on Scheduled Tasks
Updating a Scheduled Task's Credentials
在Windows XP / Server 2003之后,使用schtasks.exe实用程序相当有限。
比尔
答案 1 :(得分:1)
以下是/ SC的允许选项:
/SC allows for the following frequency schedules:
MINUTE: 1 - 1439 minutes.
HOURLY: 1 - 23 hours.
DAILY: 1 - 365 days.
WEEKLY: weeks 1 - 52. (/D MON,TUE,WED,THU,FRI,SAT,SUN)
ONCE: No modifiers.
ONSTART: No modifiers.
ONLOGON: No modifiers.
ONIDLE: No modifiers.
MONTHLY: 1 - 12, or FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY.**
我一直在编辑,因为我对我的发现不满意......
我已经查看了SCHTASKS并注意到你不能通过CMD改变时间表。
来自technet.microsoft
更改任务的以下一个或多个属性。
我将继续对此进行一些研究,希望能用一个可行的解决方案来编辑这个答案。
修改强>
如果查看C:\ windows \ system32 \ tasks,您将找到所有计划任务
它们没有列为XML,但它们确实是XML
我认为应该做的是使用其中之一; VBS或C#应用程序挖掘到以下每个节点
//任务/触发器/ CalendarTrigger删除/ ScheduleByDay及其子节点/ DaysInterval
// Task / Triggers / CalendarTrigger创建以下内容:
<?xml version="1.0" encoding="UTF-16"?>
-<Task xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task" version="1.2">
+<RegistrationInfo>
-<Triggers>
-<CalendarTrigger>
<StartBoundary>2013-03-13T15:20:00</StartBoundary>
<Enabled>true</Enabled>
-<ScheduleByWeek>
-<DaysOfWeek>
<Monday/>
<Tuesday/>
<Wednesday/>
<Thursday/>
<Friday/>
</DaysOfWeek>
<WeeksInterval>1</WeeksInterval>
</ScheduleByWeek>
</CalendarTrigger>
</Triggers>
如果有人可以接受并运行 - 我认为下周我不会对此做多少。