我有一个可执行 JAR 文件,在普通用户帐户下运行良好。我尝试使用 Windows Server 2003 中的 Schtasks.exe 安排此 JAR 文件作为系统任务运行。以下方法可以很好地安排我的任务:
schtasks /create /tn QCLogger /tr C:\QC_LOGGER\runQCLogger.bat /sc ONSTART /ru System
任务已正确创建并运行。问题是程序本身看不到网络。当从用户帐户运行此程序时,以下目录引用可以正常工作:
\\casndfgdrtra10\Casdfg10Logs\
当该程序在系统帐户下运行时,它似乎看不到网络,因此对上面列出的目录的调用不会产生任何文件结果。
有人知道我该如何解决这个问题吗?我愿意提供服务器或编码解决方案。请告诉我你有什么想法或问题。
谢谢!
更新:
这是对发布的第一个答案的回应,以及我的尝试:
我在将 /u 和 /p 与 /ru 结合使用时遇到问题。以下是我正在尝试执行的操作(密码等已更改):
schtasks /create /tn QCLogger /tr C:\QC_LOGGER\runQCLogger.bat /sc ONSTART /u ITSERVICES\bv1sfd /p awerwer /ru System
或者
schtasks /create /tn QCLogger /tr C:\QC_LOGGER\runQCLogger.bat /sc ONSTART /u bv1sfd /p awerwer /ru System
这两个都返回语法错误,指出:如果不指定系统名称,则无法指定用户名。有人知道这是什么意思吗?如何修复它,以便我可以将其作为系统任务运行,同时使用这些凭据对网络进行身份验证?
答案1
我通过切换任务运行的用户解决了类似的问题;默认用户没有网络访问权限。至少值得一试。仔细检查你使用的软件防火墙;我知道 Windows Defender 也给我们带来了类似的麻烦。