2011-12-19 13 views
2

私の目標は、リモートサーバーからWebサイト名のリストを取得することです。しかし、私は例外を得ています:どのポートが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で使用されているかです。 ファイアウォールをオフにしないでWebサイト名を取得する方法はありますか?

+2

これは(広範囲の)ポート範囲を使用します。特定のポートまたはそれより小さい範囲に強制する必要がある場合は、[こちら](http://support.microsoft.com/kb/154596)を参照してください。誤解されていないなら、UDP 389も必要です。 – vcsjones

答えて

2

私はLDAPプロトコルがTCP noを使用すると思いますか?非SSLの場合はポート389、SSLの場合は636でなければなりません。

関連する問題