NT Authority\System 无法下载电子邮件附件。哪个帐户可以?

NT Authority\System 无法下载电子邮件附件。哪个帐户可以?

不管你信不信,这个问题与真实的生产过程有关。因为我们合作的公司是由穴居人经营的,我想,但是……是的。无论如何。

这台机器上有一个计划任务,它连接到电子邮件服务器(使用我们自己编写的 IMAP 实用程序)并下载过去一天发送的任何附件。当我们在系统上的用户帐户下运行它时,它工作得很好,但这意味着我们必须不断更改密码(阅读:这意味着当我们忘记更改密码时,这个过程每月会失败一次)。

显然,标准程序是将其作为系统帐户运行,这样我们就不必担心这一点了,而且我们确实有一些其他作业以 的身份运行NT AUTHORITY\SYSTEM。但是,这个却不是。这是因为当我们尝试以 SYSTEM 身份运行时,它它完成了它的工作,但本来应该包含它下载的所有附件的目录仍然是空的,而收件箱仍然是满的。

IANASA(我不是系统管理员!):我该怎么做才能让它运行?(最好不要在日历上设置某种提醒,比如说“嘿,去更改批处理作业中的愚蠢密码。”)

答案1

简而言之:没有账户(包括系统!)能够找到就是不存在。

你们准备好了吗?以下是此作业运行的脚本中的代码片段:

Add-Type -Path ($env:UserProfile + '\bin\Email\Email.dll')

...我敢打赌,你们中有一半人已经知道为什么这在 下无法正常运行了NT AUTHORITY\SYSTEM,不是吗?

因为脚本试图检查用户的主文件夹对于该实用程序,当用户设置为 SYSTEM 时,它无法找到任何远程可执行文件。我们最终在深入研究日志时注意到了这一点,并注意到当该实用程序应该在 SYSTEM 下运行时,没有任何文件。

希望这个问题能让其他可怜的人在下次遇到不可能的事情时节省一点时间(“真的吗?系统做不到的事?那是怎么回事可能的?) 发生。

相关内容