![从服务访问映射的网络驱动器](https://linux22.com/image/1298742/%E4%BB%8E%E6%9C%8D%E5%8A%A1%E8%AE%BF%E9%97%AE%E6%98%A0%E5%B0%84%E7%9A%84%E7%BD%91%E7%BB%9C%E9%A9%B1%E5%8A%A8%E5%99%A8.png)
我通过创建了一个服务服务端如此处所述。此应用程序需要访问映射的网络驱动器。我以本地管理员身份手动映射了此驱动器,但我的应用程序/服务无权访问它。
我尝试使用本地管理员凭据启动服务。但是,默认系统帐户和本地管理员似乎都无法访问网络。
如果我使用本地管理员帐户手动启动该应用程序,则该应用程序可以访问网络。
我必须配置什么才能使我的服务可以访问映射的网络文件夹?
编辑:
我编写了一个类似于以下的小批处理文件,并编辑了服务启动批处理而不是 exe 的注册表。所以我尝试使用相同的凭据映射和运行 exe。但它仍然失败:
net use V: /DELETE
net use V: \\Server\Folder\Folder /user:UserName password /PERSISTENT:YES
"C:\Program Files\MyApplication\MyApplication.exe"
答案1
我找到了类似的问题在 serverfault 上。
我放弃映射共享并将我的应用程序配置为直接访问路径 (\\Server\Folder...)。然后我使用有权访问该共享文件夹的域帐户启动服务。
据我在各个网站上看到的,登录用户和服务之间似乎存在差异。登录用户映射的网络文件夹不会为“另一个”用户(如服务)映射,即使该服务使用与登录用户相同的凭据运行。