我有一个简单的可执行文件,可在某些 Windows Server 2008 R2 上作为计划任务运行。该可执行文件从几个位置下载文件,然后将下载文件的时间写入 SQL 数据库。
我遇到的问题是,当我使用我的帐户运行 EXE 时,它运行得非常好。
当我以专门为此计划任务设置的帐户运行它时,任务失败。它设法成功下载文件,但在尝试写入数据库时失败。用于写入数据库的用户在 EXE 中被硬编码。
我的帐户是域管理员,而运行任务的帐户不是。我试图找出组或本地策略中的哪些安全设置可能缺失,或者是否存在其他问题。
EXE 抛出一条错误消息:
System.ArguementOutOfRangeException: Index was out of range.
Must be non-negative and less than the size of the collection.
Parameter name:index
这也会作为 .Net 应用程序的未处理异常记录在应用程序 Windows 日志中。
我和开发人员都怀疑这与服务器上的安全设置有关。相关帐户已添加到“允许本地登录”和“作为批处理作业登录”中。选项太多,排列方式千差万别,要花很长时间才能找出正确的选项。
如果我将帐户设置为域管理员,那么它就可以工作,但我不喜欢仅将其设置为与根权限相同的权限,而不是找出适当的安全级别。
是否有人认识到这个特定问题,或者有任何关于如何找出哪些安全设置需要更改的指示?