![当用户未登录时,Server 2019 上的计划任务不起作用](https://linux22.com/image/752073/%E5%BD%93%E7%94%A8%E6%88%B7%E6%9C%AA%E7%99%BB%E5%BD%95%E6%97%B6%EF%BC%8CServer%202019%20%E4%B8%8A%E7%9A%84%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我有大约 30 个 VB 应用程序在 Windows 2008 服务器上使用计划任务运行。它们都执行各种简单到复杂的任务,包括每月提取数据和合并信件、在我们的网站上发布数据、将数据转换为水晶报表等。
现在我们该放弃使用 Windows 2008 服务器了,所以我要把这些应用程序从 Visual Studio 2012 转换为 Visual Studio 2019。没有什么真正的障碍。一切都转换得相当干净,运行良好。
当我在 Windows Server 2019 上设置应用程序时,问题就开始了。我们有一个用于处理任务并在服务器上拥有适当权限的用户。如果将任务设置为在夜间运行,并且我让服务器保持登录状态,则任务处理正常。如果我退出服务器,任务会显示它们已运行并且已成功完成,但永远不会完成处理。状态显示它们在触发计划的同时完成,并且大多数任务通常应运行 15 分钟到一个小时。
事件日志中没有任何内容表明它失败了,并且我在每个程序中都内置了大量错误代码,如果触发错误,就会引发错误。
该任务设置为“无论用户是否登录都运行”,以及“以最高权限运行”。
自 2008 年以来,计划任务方面有哪些变化是我应该注意的?如有任何建议/帮助,我们将不胜感激。
答案1
默认情况下,计划任务中的活动历史记录未启用,为了在此场景中更深入地启用它,您可以使用以下方式进行操作:
.1 Opening an Elevated Task Scheduler (i.e. right-click the Task Scheduler icon and select
Run as Administrator)
.2 In the Actions pane (right pane, not actions tab), click Enable all activity history
尝试以系统帐户运行该作业
使用较新版本的任务计划程序,运行任务的用户帐户需要对您正在运行的程序的文件夹具有完全控制权限。