你好,我想安排一个任务,在我离开办公室后至少 3-4 小时在虚拟机上运行自动化。我制作了一个 .vbs 文件,它可以打开 QTP 并执行脚本,我甚至还制作了一个脚本来阻止我的虚拟机自动锁定。但问题是,当我在锁定 PC 后 2 小时设置任务计划程序时,它不起作用。但如果我将其安排在 15 分钟后,它就会触发。请问有什么建议吗?是否需要更改设置或其他内容。
谢谢,阿布舍克
答案1
它应该可以工作,事实上,当你在注销后延迟 15 分钟时它确实可以工作,但当你延迟三个小时时它就不行了。我将提出一个解决方法,直到我们能够获得更多信息并确定失败的原因。解决方法是让你的注销脚本编写一个包含注销时间的“哨兵”文件。创建第二个任务并将其安排为每小时运行一次。第二个任务查找哨兵文件,如果未找到则结束。如果哨兵文件存在,它会将当前时间与文件中的注销时间进行比较。如果它小于你的阈值(3 小时),任务结束。如果超过延迟阈值,它会执行你的脚本并删除哨兵文件,这样脚本就不会再次执行。最后一步是创建一个登录脚本,在你登录时删除哨兵文件(如果存在)。这只会在你注销、回家并记得你忘了做某事并在你的夜间过程运行之前再次登录时发挥作用。
其余部分是评论,而不是答案,我不知道 SE 协议。至于回答为什么你的“延迟注销触发器”在十五分钟后不起作用的问题,也许我应该把这个问题留给有经验的人,我没有,但我认为详细说明你正在运行的是什么虚拟机以及你在其下运行的客户操作系统在这方面会很有用。我会要求你在一台真正的机器上而不是虚拟机上创建你的场景。如果它在真实机器上工作但在虚拟机器上失败,我们可以专注于虚拟方面,如果它在真实和虚拟上都失败,那么我们可以专注于 Windows。我也很好奇你是如何知道它“没有触发”而不是它触发了但没有做任何事情的。我假设你通过查看“上次运行”列知道这一点,并且如果你将触发延迟设置为 15 分钟,上次运行将更新为你注销后的 15 分钟,但如果你将触发延迟设置为 3 小时,上次运行将保持你注销之前的状态。