Windows 10 专业版
操作系统版本 1709
内部版本 16299.666
我有一个服务需要访问网络驱动器U:/public/blah.txt
。使用命令提示符以普通用户身份运行它可以,但以服务身份运行则不行。
如果转到services.msc -> servicename -> properties -> Log On -> This account
并使用MYDOMAIN/MYUSER
正确的密码并重新启动,它仍然不起作用,并产生相同的错误消息。这是可以从命令提示符成功运行程序的帐户。
这是一个在国家安全监测中心服务和实际的错误信息是Error opening file U:\public\blah.txt: The system cannot find the path specified
。
该程序曾经作为另一台计算机上的服务运行,甚至访问同一个驱动器。我能看到的唯一区别是我现在使用的帐户是域帐户,而以前它是本地用户。
为什么如果我的服务以拥有驱动器映射的用户身份成功登录,它就看不到驱动器映射?
答案1
不要让服务通过映射驱动器访问数据,而是使用 UNC 路径名。
加载用户配置文件时,有多种方式可以映射驱动器。并非所有方式都是在加载用户配置文件时触发的。服务使用特定帐户登录。因此,UNC 路径比映射驱动器更可靠。