![Windows 调度程序 - 用户未登录时任务不运行](https://linux22.com/image/1302070/Windows%20%E8%B0%83%E5%BA%A6%E7%A8%8B%E5%BA%8F%20-%20%E7%94%A8%E6%88%B7%E6%9C%AA%E7%99%BB%E5%BD%95%E6%97%B6%E4%BB%BB%E5%8A%A1%E4%B8%8D%E8%BF%90%E8%A1%8C.png)
我有 Windows Server 2003,通过远程桌面在一个帐户下设置了计划。该帐户也出现在“创建者”列中。我取消了“仅在登录时运行”的勾选。
当我使用该帐户登录,然后“断开连接”而会话仍处于活动状态时,计划将运行。但每次重新启动服务器时,任务都会再次失败,直到我再次登录并断开连接。
我错过了什么 KB 修复或忽略了什么问题?通常,只有当用户告诉我计划已停止运行时,我才会发现这个问题,所以这是一个真正的可靠性问题。
我也会很高兴听到一个建议使用可靠性更高的替代调度程序的答案。
谢谢
答案1
需要检查以下几件事:
确保您所安排的任务没有Run only if logged in
勾选该选项。
确保任务计划程序已设置为与桌面交互
- 单击“开始”,单击“控制面板”,然后双击“管理工具”。
- 单击“计算机管理”。
- 展开“服务和应用程序”,然后单击“服务”。
- 右键单击任务计划程序服务,然后单击属性。
- 在“常规”选项卡上,确保启动类型设置为自动,并且服务状态为“已启动”。如果服务未运行,请单击“启动”。
- 在“登录”选项卡上,确保选择了本地系统帐户,并且“允许服务与桌面交互”复选框有复选标记。
- 单击“确定”,然后退出“计算机管理”
如果您想使用本地系统帐户而不是用户帐户来运行计划任务,那么您需要使用 SCHTASKS 工具(例如在本地服务器上运行且不需要使用网络资源的任务等)
答案2
您需要向运行任务的用户授予“作为批处理作业运行”权限。它位于本地安全策略中
答案3
仅在用户登录后才能正确运行的任务听起来像是权限问题。该任务到底是做什么的?
如果用户帐户在控制台或远程会话中保持登录状态,然后在不同的远程会话下远程启动该任务,任务是否可以正确运行?
编辑
我想核实一下。你问题中的事实和你的评论似乎相互矛盾。
因此,如果我理解正确的话,该任务是在“Admin2”下创建的。如果您登录该帐户,无论是远程登录还是在控制台登录,该任务都会在您登录时启动。
系统启动时,任务拒绝正确运行(即使结果不理想,它也会返回 0x0)。
如果您以“Admin1”身份登录,它也不会正确运行。
但你会说:
它通常会显示 0x0(成功)。事实上,当我尝试从其他帐户我使用时,它说它已运行并返回 0x0,即使它尚未执行。
这其他帐户似乎自相矛盾。您只提到了两个具有本地管理员权限的帐户。首先,在问题中您陈述了任务确实有效在另一个帐户上,如果你远程登录。然后在评论中你说不起作用. 这看上去有点令人困惑。