Python脚本将无法在“任务计划程序”中运行,以便“运行是否使用已登录”

问题描述:

我已经编写了一个python脚本,并且希望每天使用任务计划程序在设定的时间段内运行该脚本。在创建此任务之前,我已使用任务计划程序在注销时运行程序时没有问题。Python脚本将无法在“任务计划程序”中运行,以便“运行是否使用已登录”

如果我选择“仅在用户登录时运行”,我的脚本按照预期运行,并且没有错误代码(0x0)。

如果我选择“运行用户是否登录”和“以最高权限运行”,然后保留一晚或注销来测试它,它不会执行任何操作并且错误代码为0x1。

我有行动 “启动程序” 与详情如下:

程序/脚本:C:\ Python27 \ python2.7.exe 添加参数:“C:\ Users \ me \ Desktop \ test.py“

我认为它与注销时使用python的权限有关,但我无法弄清楚这一点。想知道是否有人有这方面的建议或经验。

这是Windows 7(仅供参考)

感谢, JP

+0

是的,我正在修改我的用户目录中的CSV文件。不要以为他们需要修改权限。 我不知道为什么这会是一个问题,因为我也使用调度程序中的电子邮件任务来发送我的用户目录中的文件... – pj2452 2013-03-05 23:17:37

我会与脚本尽量不要在你的用户目录

+1

刚刚尝试在C:/目录中运行脚本,然后注销我的帐户。相同的结果0x1。 – pj2452 2013-03-05 22:21:05

+0

我也尝试制作批处理文件来运行脚本。再一次,当它登录它的作品,但如果我让它运行时,我注销,0x1错误。 – pj2452 2013-03-05 23:13:37

我想我已经找到了解决这个问题。我的脚本用于创建幻灯片幻灯片并需要打开MS PPT。

我偶然发现了另一个论坛上的帖子,其中包含MS的政策链接。它基本归结为以下几点:

“Microsoft目前不推荐并不支持从任何无人值守的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM,和NT服务),因为Office在此环境中运行时可能会出现不稳定的行为和/或死锁

使用选项“运行用户是否运行用户时,自动执行来自计划任务的PowerPoint属于不受支持的方案登录或不“。但是,将它与”仅在用户登录时运行“选项一起使用属于受支持的类别。”

here

+0

如果任何人有任何更新解决这些限制,请分享。 – Tom 2016-10-18 14:33:04

我有经验,通过C++应用程序称为p3icli(可在SourceForge上)的方式下,任务计划程序支持PowerPoint中的自动化。这是我成功使用的方法:

1)添加一个命令行(-T)开关,指示p3icli将在Task Scheduler下运行。

2)命令行开关强制p3icli使用CreateProcess()启动powerpnt.exe的实例,然后等待X毫秒以使该实例稳定下来。

3)经过X毫秒后,p3icli连接到在步骤2中创建的正在运行的PPT实例并处理自动化命令。

我猜想Python可以使用类似的方法。

任务计划程序的兼容性很容易成为我添加到p3icli中最麻烦的功能。例如,通过更改活动窗口操作多个演示文稿根本不起作用。正如我相信你发现的那样,调试问题根本就没有乐趣。

注意:您的python解决方案必须包含强制PowerPoint在您的python脚本完成时(模python崩溃)无条件关闭的代码。否则,PowerPoint的孤立实例将出现在任务管理器中。

从p3icli point of view单击链接了解有关任务计划程序的一些想法。