2010-04-13 78 views
1

我需要讓我的網絡上的域名列表中的所有域名...得到網絡

,但我只得到與我登錄到域名... 因此,例如有2個域 「某某」 和 「XYZ2」 但我只得到與我登錄到域....

這裏是我的代碼:

if (!IsPostBack) 
     { 

      StringCollection adDomains = this.GetDomainList(); 

       foreach (string strDomain in adDomains) 
       { 
        DropDownList1.Items.Add(strDomain); 

       } 
      } 
     } 

    private StringCollection GetDomainList() 
    { 
     StringCollection domainList = new StringCollection(); 
     try 
     { 
      DirectoryEntry en = new DirectoryEntry("LDAP://"); 
      // Search for objectCategory type "Domain" 
      DirectorySearcher srch = new DirectorySearcher("objectCategory=Domain"); 
      SearchResultCollection coll = srch.FindAll(); 
      // Enumerate over each returned domain. 
      foreach (SearchResult rs in coll) 
      { 
       ResultPropertyCollection resultPropColl = rs.Properties; 
       foreach (object domainName in resultPropColl["name"]) 
       { 
        domainList.Add(domainName.ToString()); 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      Trace.Write(ex.Message); 
     } 
     return domainList; 
    }    

回答

1
using System.DirectoryServices.ActiveDirectory; 

....

Forest currentForest = Forest.GetCurrentForest(); 
DomainCollection domains = currentForest.Domains; 
foreach(Domain objDomain in domains) 
{ 
    System.Diagnostics.Debug.WriteLine(objDomain.Name); 
} 
+0

只是完美....感謝/ – user175084 2010-04-14 16:11:27