早上好,
我正在使用 Windows 10 虚拟机,其中定义了一些计划任务。昨天我一直在处理这些任务,方法是执行以下操作(操作是启动批处理文件):将上述批处理文件复制到第二个批处理文件(修改计划任务的“操作”部分)并启动第二个批处理文件。将原始批处理文件放回原处(通过再次将“操作”部分修改为其原始设置)。
现在我看到什么都没有发生:第二个批处理文件尚未运行,现在甚至原始批处理文件也不再运行(尽管按照计划它应该运行)。
在历史记录中,我发现了以下警告(实际上,这是一个错误消息):
Task Scheduler did not launch task "\<taskname>" because user "<computer_name>\<username>" was not logged on when the launching conditions were met.
User Action: Ensure user is logged on or change the task definition to allow launching when user is logged off.
由于我不知道这意味着什么,我将相应任务的设置与仍在运行的任务的设置进行了比较。两者只有一个区别,更确切地说是在任务定义的“常规”选项卡中:对于仍在运行的任务,提到的用户名“运行任务时,使用以下用户帐户:”用大写字母书写,而对于失败的任务,此条目用小写字母书写。
由于 Windows 不区分大小写,因此这不会影响行为,但由于这是工作任务和失败任务之间的唯一区别,我很想认为这确实是一个问题。最重要的是,提到的用户帐户只是写为"<username>"
(没有提到计算机名称)。这是正确的吗?同时,我调查了存储在注册表中的计划任务,它们似乎存储为以下子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks
我看到我的两个任务都引用同一个用户帐户,所以这不是这个问题的原因。
看起来两个不同的任务,以完全相同的方式配置,却产生了不同的结果。
有人知道如何帮助我吗?
提前谢谢
答案1
同时,通过修改计划任务的用户,问题已经得到解决,但有一个问题: 提到:<username>
而对于其他任务,提到<USERNAME>
(注意大写)。
现在看来<USERNAME>
是 的显示名称<domain>\<username>
,因此通过将 替换<username>
为<domain>\<username>
,问题已经解决。