检查网络驱动器是否已连接为Windows服务[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查网络驱动器是否已连接为Windows服务[关闭]相关的知识,希望对你有一定的参考价值。
我正在使用Directory.Exists(<path>)
检查网络/映射驱动器当前是否已连接。我正在使用通过阅读系统注册表获得的UNC路径。
如果我通过Visual Studio运行我的代码(它告诉我该目录确实存在),这完全正常,但是,只要我运行与Windows服务完全相同的代码,它就会失败。我检查了服务的用户名和密码,这是正确的 - 一切都检查出来。
我还注意到,作为管理员运行Visual Studio时,作为普通用户运行时返回false,返回true。有没有人知道究竟发生了什么?无论我是从Visual Studio还是作为Windows服务运行,我都试图让我的程序行为相同。
答案
显而易见,您的服务看不到网络驱动器,
- 您需要在可以查看它的帐户下运行服务,即域用户或明确添加该共享的用户
- 或者你需要在路径中使用直接IP地址(提供正确的权限设置),即
\xxx.xxx.xx.xxlahlah
注意:关于最后一个选项。设置共享权限是不够的。您需要适当地设置NTFS权限
以上是关于检查网络驱动器是否已连接为Windows服务[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
windows无法连接到打印机。请检查打印机名并重试。如果这是网络打印机,请确保打印机已打开