背景: 我在Windows7上,正在尝试自动更新一些与电子邮件相关的列表。我有 一个python脚本,它可以接收电子邮件、下载某些附件并向我发送一封新的电子邮件,其中包含一些结果。当我手动运行代码时,这一切都很好:
这里需要说明的是:当以上述任何一种方式执行时,脚本会成功地检查电子邮件、解析附件并向我发送一封包含所需信息的电子邮件。
问题: 当我尝试在本地PC上设置计划任务(我有管理员权限)以运行.bat文件时,脚本将在以下行终止:
#Grab an outlook COM
outlook_app = win32com.client.Dispatch("Outlook.Application")
outlook = outlook_app.GetNamespace("MAPI")
我知道这是因为我有脚本打印日志到一个单独的文本文件。任务调度器执行批处理文件,我看到前面步骤的日志被写到文本文件中,但是在这两行中失败了。
关于win32com
和任务调度程序,我有没有遗漏什么?
用户需要登录任务才能使用COM进行操作。在
看这些文章。在
.net application failing when fired via scheduled task
Schtasks
Create a scheduled task that runs on particular user login using commandline
Office Interop run via Task Scheduler
A workaround for the fact that a scheduled task in Windows requires a user to be logged in
相关问题 更多 >
编程相关推荐