Windows Server 2008任务计划程序历史问题

我对Windows服务器2008中新的任务计划程序感到困惑。我有一个我写的应用程序执行一些数据相关的任务。 我每10分钟运行一次这个应用程序。 如果存在新的数据,则处理它。 这个应用程序在Win2k3服务器下运行了多年。

我使用“创build基本任务”向导来设置Windows Sever 2008中的任务。 大部分菜单都很熟悉,现在看起来还有更多的select。 当我到最后,我打开对话框来调整设置,并将其设置为每10分钟运行一次。

应用程序的第一件事是创build一个日志文件,所以我等待日志文件出现。 它从来没有。 我自己启动应用程序,通过双击单击它出现,所以应用程序运行正常(在我创build任务的pipe理员帐户下)

接下来,我让一天过去,回来检查“历史”选项卡。 据此,该应用程序已运行24小时,每10分钟或更长,但没有创build日志文件!

closures检查显示与每个事件相关的6个“事件”:事件ID – 任务类别 – 操作代码

107 - Task triggered on schedule - (1) 319 - Task Engine received message to start - (1) 100 - Task Started - (1) 200 - Action Started - Info 129 - Created Task Process - (2) 201 - Action completed - (2) 102 - Task completed - Info 

应用程序创build一个窗体,用户可以根据需要中断处理。 在Win23k上,我会观察它popup一两个,然后dissappearing,以确认该应用程序是在白天触发。 我没有看到对话框。

为了加深这个谜,应用程序确实执行任务,这意味着它正在运行。

有人能解释一下这里发生了什么吗?

听起来像是与创build日志文件有关的安全\权限问题。 您的脚本没有中断,这意味着要么不捕获该错误,要么实际上正在创build日志文件,但是您使用的帐户没有访问权限,尽pipe最后一种可能性似乎不大可能。

我认为你的标题是不准确的 – 你说应用程序确实执行处理任务,所以调度程序说的是实话,并在需要时执行你要求的内容。 什么是不工作是在Win2k8的调度程序提供的安全上下文中运行的脚本的确切行为。 你有没有试过在特定的用户上下文中显式调度? 在以pipe理员身份login时简单地安排任务将导致在系统上下文中运行的任务可能不会达到您的预期。 W2K3和W2K8之间的这个区域已经发生了变化,所以W2K3上可以正常运行的东西在W2K8上将会失败也就不足为奇了。