情况
我有一个批处理脚本,该脚本准备一些文件,执行程序(.exe
),然后删除所述文件。
该任务应该每小时运行一次,因此我正在尝试使用“计划任务”进行配置。问题是,从任务中调用时(既不是通过.bat
脚本,也不是.exe
直接调用),上述程序无法正常运行,但是日志中没有任何警告或错误消息。
设定
该任务被配置为作为Windows服务帐户运行,该帐户具有正确设置的所有特权。使用此帐户通过RDP登录时,我可以直接执行.bat
和.exe
,而不会出现问题,但任务似乎仍然无能为力。这是很容易观察到,因为程序总是修改文件,并修改上的时间戳通过任务不会改变。
在计划的任务日志中,我获得了有关任务启动过程,退出过程等的信息消息。但是,“结果代码”是111
((如果没有运气,请尝试使用Google,我得到的唯一关联是“文件名太长”,这与AFAIK完全无关)。在应用程序日志中,我什么也没得到。
我怀疑是问题所在
该程序是一个古老的怪兽,它生成某种形式的启动屏幕(实际上是一个普通的窗口),尽管不需要GUI是因为它不需要交互并且在操作后会自行关闭。窗口出现约2秒钟。
我怀疑对GUI的这种要求与任务失败有关,但是我不确定。当我与运行任务的用户(通过RDP)登录时,启动计划任务时没有窗口出现。
编辑关于GUI
我已经构建了一个非常小的C#可执行文件,它在没有主窗口的情况下启动程序(使用ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden
)。即使这样,计划任务仍然无法成功启动程序,但是现在返回代码为0
。
更新资料
当我将任务配置为说“运行用户是否已登录”并且未选中该run with highest privileges
选项时,错误值为。2147943859
我该怎么做排除故障?
操作系统= Windows Server 2008 R2 SP1
如果需要更多信息,请在评论中让我知道。
.exe
脚本中使用参数启动“程序”时,必须正确提供输入作为参数。