【发布时间】:2016-10-26 23:29:11
【问题描述】:
我有一个将在客户端服务器上运行的 Windows 服务。此服务需要访问位于不同共享文件夹(Y:\ 和 Z:\)中的 2 个文件夹,它们都位于不同的计算机上(总共 3 台计算机)。
目前该服务只能查看位于同一台机器上的文件。当我对共享文件夹执行 IO.Directory.Exists() 时,它返回 false。
以下是我尝试过的事情:
- 作为网络服务运行
- 作为本地系统运行
- 作为本地服务运行
- 使用 \\192.168.1.xx\path\to\folder 测试存在
- 使用 Y:\ 和 Z:\ 测试存在性
- 在其他计算机上创建具有相同用户名和密码的用户
- 验证文件夹为所有人提供了完全访问权限
还没有任何效果,非常感谢任何帮助。
【问题讨论】:
-
除非机器在域中,否则最好的办法可能是让服务使用 WNetAddConnection2 或类似方法显式连接,并提供用户名和密码。
-
我尝试这样做并收到此错误:ERROR_NO_SUCH_LOGON_SESSION:指定的登录会话不存在。它可能已经被终止。 (代码:1312)
-
我已经看到(在 Windows 10 上)当用户名不完全合格时,尝试
SERVERNAME\USERNAME(或DOMAIN\USERNAME,如果它是域帐户或服务器也是域控制器)。 -
哇,效果很好!太感谢了!如果您将其发布为答案,我会批准它
标签: windows networking service directory shared