powershell 编辑Windows任务计划程序任务的触发器

byqmnocz  于 2023-01-20  发布在  Shell
关注(0)|答案(3)|浏览(91)

我们目前在服务器2008上的Windows任务计划程序中计划了数百个任务。有许多任务每半小时无限期地运行一次。是否有任何方法可以使用脚本更改这些任务上的触发器,使它们仅在M-F每半小时运行一次?

o8x7eapl

o8x7eapl2#

以下是/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.**
  • 我一直在编辑,因为我对我的发现不满意 *

我已经查看了计划任务,注意到您不能通过CMD更改计划。

更改任务的以下一个或多个属性。

  • 任务运行的程序(/tr)。
  • 运行任务的用户帐户(/ru)。
  • 用户帐户的密码(/rp)。

我将继续做一些研究,希望将编辑这个答案与一个可行的解决方案。

    • 编辑**

如果你查看C:\windows\system32\tasks,你会发现你所有的计划任务,它们没有以XML的形式列出,但是它们确实是XML。我认为应该做的是使用;以下每个节点的VBS或C#应用程序摘要
//任务/触发器/日历触发器以删除/ScheduleByDay及其子节点/DaysInterval//任务/触发器/日历触发器以创建以下内容:

<?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>

如果有人能拿起并运行这个-我不认为我将能够做很多与此在未来一周。

ffvjumwh

ffvjumwh3#

我发现,如果使用SCHTASKS /Create并使用相同的/TN名称和不同的/SC和/ST选项,则会用更新的计划覆盖现有的计划任务

相关问题