2011-12-19 83 views
2

我的目標是從遠程服務器獲取網站名稱列表。但我得到的例外:DirectoryEntry使用哪個端口?

RPC服務器不可用。

下面是代碼:

public List<string> GetWebSites(string serverIP) 
    { 
     List<string> names = new List<string>(); 
     DirectoryEntry Services = new DirectoryEntry(string.Format("IIS://{0}/W3SVC", serverIP)); 
     Services.Username = "user name"; 
     Services.Password = "password"; 
     IEnumerator ie = Services.Children.GetEnumerator(); 
     DirectoryEntry Server = null; 

     while (ie.MoveNext()) 
     { 
      Server = (DirectoryEntry)ie.Current; 
      if (Server.SchemaClassName == "IIsWebServer") 
      { 
       names.Add(Server.Properties["ServerComment"][0].ToString()); 
      } 
     } 

     return names; 
    } 

這工作得很好,當防火牆被關閉機器。

我需要知道的是,DirectoryEntry使用哪個端口? 還是有沒有其他方式來獲取網站名稱,而不關閉防火牆?

+2

它將使用(廣泛)端口範圍。如果您需要將其強制到特定端口或更小範圍,請查看[這裏](http://support.microsoft.com/kb/154596)。如果我沒有弄錯,你還需要UDP 389。 – vcsjones 2011-12-19 15:29:52

回答

2

我相信LDAP協議使用TCP否?對於非ssl應該是389端口,對於SSL應該是386端口

相關問題