我们有一个2012年的服务器,有大约20个计划任务用于监控。 我们已经build立了一个2016年的服务器来取代它,当我将任务移动到新服务器时,我遇到了一个问题。 我们的大部分任务每隔几分钟运行一次。
在Server 2012中,我们将安排任务在当天的1200AM(过去一段时间)开始,每隔X分钟再次发生一次。 该任务将在下一个预定时间开始。 完善。
在Server 2016中,从以前开始的时间表不运行。 所以我们必须安排它在未来开始。 这很好,直到你重新启动。 现在开始时间已经过去了,不会运行。 它甚至没有注册失败的运行。 下一次运行时间列显示它应该运行,但不运行。

除了创build两个触发器,一个在未来启动,另一个在重新启动时启动(我们不想做,因为一些任务只应该在特定时间运行),还有更好的方法吗? 这似乎是一个错误。 2012年的版本很好。
这是一个解决方法。 创build无限期运行的一次性计划。 重新启动后,这个工作就像你所期望的一样。 我知道这对于那些“怪异”的时间表来说并不是很好,但对于我们每3分钟或者其他任何时间都要运行的事情来说,这样做还是不错的。
这个问题似乎只影响Repeat task every: ...任务的Repeat task every: ...选项集。
到目前为止,我的印象是, trigger at X, then repeat every 10 minutes只是一个不必要的复杂的方式来编写trigger at every xx:x0在任务计划程序中的trigger at every xx:x0 。
显然,这不是。 显然,它的意思正是它所说的:任务在X处触发, 然后才重复。 没有初始触发,没有重复。 我似乎没有简单的方法来调度在任务计划程序trigger at every xx:x0 (或者是否存在?这可能会成为一个单独的Serverfault问题。)“下一个运行时间”列显示不同的事实不是很很有帮助。
我们通过安排任务在每天12:00(而不是仅仅一天)运行,然后每隔1分钟重复一天来“解决”这个问题。 这意味着如果重启发生在12:00,任务将恢复。 这并不理想,但这是一个可以接受的妥协。
我想你可以通过为每个小时创build一个触发器来将“任务停机时间”降低到1小时,并且随后每隔1分钟重复任务1小时。
令人惊讶的是,它似乎一直是这样(见第一个评论这个答案 ),我们只是从来没有注意到现在。 根据链接答案的其他表示方法,解决此问题的标准方法是Run task as soon as possible after a scheduled start is missed激活Run task as soon as possible after a scheduled start is missed 。
所以,是的,这是一个错误,但它是“下一次运行时间”列是错误的,而不是实际的调度。
仅供参考 – 我已经通过昨天打开的支持票证与微软确认这是一个错误。 支持技术确认它被内部分类为一个bug并且正在开发一个补丁。 7月/ 8月份我得到了补丁发布的目标date。
这会影响Windows 10和Server 2016.我的testing系统已修补到昨天的累积更新。 Server 2012 R2和Windows 7中没有发生该问题。
编辑 – 截至可能八月,但肯定是九月2017,这个问题是固定在我已经testing过的系统上。
1 。 Windows 2016 Server在您的工作中一定需要这些选项:
我在截图中注意到了这些选项
2 。 添加其他触发器。 如:
等等的含义是:在任意时间移动任务开始
3 。 在Windows 2016的一些任务中 – 实现了这种方法。