在系统账户下运行Windows计划任务出现错误

5
我想创建一个定时任务,以“LOCAL SERVICE”帐户运行。该任务将调用一个C#程序(.NET 4.5)。为了进行POC测试,我将C#程序保持简单 - 只是将文本写入控制台。
任务计划程序任务设置为在未登录时运行。我确保C#可执行文件具有LOCAL SERVICE的权限(读取,读取和执行)。
当我运行预定任务时,在事件日志中出现以下错误:
“Task Scheduler failed to start instance "{e719a65e-d4fb-4515-9fc9-3635fe69e378}" of "\Testing LOCAL SERVICE" task for user "NT AUTHORITY\LOCAL SERVICE" . Additional Data: Error Value: 2147942405.”
但是,如果我通过指向像mspaint或notepad这样的已知程序来运行相同的任务,则任务会在没有错误的情况下运行。我不确定C#程序的权限有什么特殊之处。
欢迎提出一些想法。

无法重现您所描述的情况。您不需要在exe上设置任何权限,但它必须位于本地磁盘上。 - Vojtěch Dohnal
3
参考资料,2147942405 = 0x80070005 = COR_E_UNAUTHORIZEDACCESS。 你应该验证程序(.exe 文件及其所在的文件夹)是否有权限。还要确保它真的是本地文件,映射的网络驱动器只适用于创建它们的用户会话。 - Jonathan
.exe文件位于本地驱动器(c:\TestFolder)上。.exe文件和其所在的文件夹对LOCAL SERVICE用户具有读取/执行权限。感谢您确认我的研究与某些访问问题相关......但看起来我已经拥有所需的权限。 - user1946680
3个回答

3
用户运行任务时必须拥有托管 .exe 文件的文件夹的正确权限。 右键单击文件夹 > 属性 > 安全 > 编辑 > 添加 > 尝试添加 "完全控制" 权限。

enter image description here


0

0

当我更改用户时,我遇到了相同的错误代码“2147942405”。最终,我通过启用“以最高权限运行”来解决了这个问题。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接