检查网络驱动器是否已连接为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无法连接到打印机。请检查打印机名并重试。如果这是网络打印机,请确保打印机已打开

LINUX的SFTP无法连接

Windows 无法连接到打印机。请检查打印机名并重试。如果这是网络打印机,请确保打印机已打开?

再次检查打印机名称,并确保打印机已连接到网络。

网络连接错误码