通过触发器运行时计划作业失败,但在手动运行时有效

Posted

技术标签:

【中文标题】通过触发器运行时计划作业失败,但在手动运行时有效【英文标题】:Scheduled job fails when run via trigger, but works when run manually 【发布时间】:2019-07-10 02:37:34 【问题描述】:

我有一个计划的作业来运行以下命令:

copy 'C:\Users\tdjeilati\Desktop\RDP.rdg' '\\fil03\Dept_1Z\Public\my'

这会将文件复制到远程服务器。 我有一个工作触发器-AtLogon

当我登录到我的电脑时,它会运行作业。 当我使用接收作业检索该作业时,我得到该作业的访问被拒绝错误:

但后来我手动运行这项工作,它工作正常!什么给了?

我不明白为什么从作业触发器运行时它会失败,但是当我在 powershell 中手动运行它时它会起作用。我只能假设环境/权限不同。

编辑:我注意到的一件事是,从 jobtrigger 运行的作业没有任何 childJobs,但我从命令行启动的作业有子作业。为什么会有区别?

【问题讨论】:

【参考方案1】:

计划任务可能不在您的用户帐户下运行。这可以解释为什么当您手动启动作业时它会起作用。

验证任务是否以具有文件和远程共享权限的用户身份运行。

【讨论】:

在作业的脚本中,我输出了用户名和域。我看到计划作业在完全相同的用户帐户和域下运行,但它失败了。通过触发器运行的调度作业和我通过命令行运行的调度作业还有什么不同?

以上是关于通过触发器运行时计划作业失败,但在手动运行时有效的主要内容,如果未能解决你的问题,请参考以下文章

设置为以系统帐户运行时计划任务不起作用

触发器适用于 UPDATE/INSERT,但在通过 BCP 运行时失败(日期格式问题)

Bash 脚本手动运行,但在 crontab 上失败

Bash脚本手动运行,但在crontab上失败

如何使用 Github Actions 运行特定作业

通过 JDBC (oracle) 创建触发器