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

我正在尝试使用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机器时,我在线路上获得exceptionif (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远程窗口7 m / c。 防火墙和UAC也关闭了。 问题是我在每个远程Windows 7机器上遇到此问题。 我试图将ip地址放在url而不是hostname,但在这种情况下甚至在本地机器上我得到了exception。 nslookup命令能够解析该远程m / c hostName。 这可能是什么原因? 什么可以解决这个问题? 提前致谢 !!

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

这里有一个关于如何成功连接到远程注册表的指南。 它收集所需的所有不同信息 – 启用文件和打印机共享,启用远程注册表服务,并将连接到远程注册表的特定用户添加到HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg

一旦在远程系统上执行了所有这些任务,您就可以使用WinRT://remoteHost远程连接到它。 我在一些系统上测试了它并且它有效。

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

最近我最近发现了一些我建立的内部网站。

我发现应该修复的一个项目是Microsoft Hotfix: http : //support.microsoft.com/kb/2545850 。 您可以判断这是否是您的问题,因为服务器重启会暂时解决错误。

但是在我的情况下,这不起作用。 检查IIS中的设置我注意到在我的站点的“身份validation”部分中,启用了ASP.NET模拟(在web.config中将其设置为“true”)。 我禁用了它,这解决了我的问题。