2012-12-19 23 views
3

我嘗試使用DirectoryEntry對象連接到遠程Windows 7機器。這裏是我的代碼System.IO.FileNotFoundException:未找到網絡路徑。在Windows 7上使用DirectoryEntry對象時出現異常

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地址,而不是主機名,但在這種情況下,即使在本地機器上我得到以上例外。 nslookup命令能夠解析遠程m/c hostName。 這可能是什麼原因?什麼可以解決這個問題? 在此先感謝!

+0

Windows 7不是服務器操作系統,所以它實際上並不提供遠程服務。 – Petesh

+0

這些計算機是域的一部分嗎? – cheesemacfly

+0

您可以從命令行訪問遠程Windows 7計算機嗎?也就是說,你可以做'dir \\ hostname \ directory'嗎? –

回答

2

您需要正確訪問遠程註冊表才能以此方式連接到Windows 7(& 8)系統。

有關於如何成功連接到遠程註冊表的guide here。它收集所需的所有不同信息 - 啓用文件和打印機共享,啓用遠程註冊表服務,並將連接到遠程註冊表的特定用戶添加到HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg中。

一旦在遠程系統上執行了所有這些任務,您應該可以使用WinRT://remoteHost遠程連接它。我在一些系統上測試過它,它工作正常。

如果系統是域綁定系統並且用於連接的帳戶是域管理員帳戶,則這可能會自動工作。

2

我最近偶然發現了一些我最近建立的內部網站。

我發現應該是一個修復程序的一個項目是Microsoft修補程序:http://support.microsoft.com/kb/2545850。您可以知道這是否是您的問題,因爲重新啓動服務器會暫時糾正錯誤。

但在我的情況下,這沒有奏效。檢查IIS中的設置我注意到,在我的網站的「身份驗證」部分,啓用了ASP.NET模擬(它在web.config中設置爲「true」)。我禁用了它,併爲我解決了這個問題。

+0

然而,剛剛遇到同樣的問題,我們的應用程序已經部署了很長時間,並突然顯示出這些症狀。任何想法如何發生? (更新?) –

相關問題