System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常

2024-06-20

我正在尝试使用 DirectoryEntry 对象连接到远程 Windows 7 计算机。这是我的代码

DirectoryEntry obDirEntry = new DirectoryEntry("WinNT://hostName", "hostName\\testUser", "password123", AuthenticationTypes.Secure);               
            try
            {
                if (obDirEntry.Properties.Count > 0)
                {                        
                   //ok
                }
            }
            catch (Exception excp)
            {}

如果我能够连接到远程 Windows Server 2003 计算机或本地 Windows 7 计算机,那么我没有收到任何错误。但是当我尝试连接到远程 Windows 7 机器时,我在行中遇到异常if (obDirEntry.Properties.Count > 0)

 Exception :System.IO.FileNotFoundException: The network path was not found.

 at System.DirectoryServices.Interop.UnsafeNativeMethods.IAds.GetInfo()
 at System.DirectoryServices.DirectoryEntry.RefreshCache()
 at System.DirectoryServices.DirectoryEntry.FillCache(String propertyName)
 at System.DirectoryServices.PropertyCollection.get_Count()

我能够 ping 通远程 Windows 7 m/c。防火墙和UAC也关闭了。问题是我在每台远程 Windows 7 机器上都会遇到这个问题。我尝试将 ip 地址放入 url 而不是主机名中,但在这种情况下,即使在本地计算机上,我也会遇到上述异常。 nslookup 命令能够解析远程 m/c 主机名。 这可能是什么原因?对此有什么可能的解决方案? 提前致谢 !!


您需要正确访问远程注册表才能以这种方式连接到 Windows 7 (&8) 系统。

有一个在这里指导 http://www.peppercrew.nl/index.php/2011/09/connect-to-remote-registry-fails-with-an-error-is-preventing-this-key-from-being-opened/关于如何成功连接到远程注册表。它收集所需的所有不同信息 - 启用文件和打印机共享、启用远程注册表服务以及将连接到远程注册表的特定用户添加到HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg.

在远程系统上执行所有这些任务后,您应该能够使用以下命令远程连接到它:WinRT://remoteHost。我在我拥有的一些系统上测试了它并且它有效。

如果系统是域绑定系统并且用于连接的帐户是域管理员帐户,则这可能会自动工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常 的相关文章

随机推荐