【问题标题】:get all domain names on network获取网络上的所有域名
【发布时间】:2011-02-07 16:35:38
【问题描述】:

我需要获取我网络上的域名列表...

但我只获得了我登录时使用的域名... 例如,有 2 个域“xyz”和“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;
    }               

【问题讨论】:

    标签: c# asp.net active-directory dns


    【解决方案1】:
    using System.DirectoryServices.ActiveDirectory;  
    

    ....

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

    【讨论】:

    • 注意:当应用程序以本地用户身份运行时,这将不起作用。
    猜你喜欢
    • 1970-01-01
    • 2016-11-02
    • 2013-03-31
    • 2012-11-04
    • 2020-01-18
    • 1970-01-01
    • 2015-02-17
    • 2018-09-01
    • 1970-01-01
    相关资源
    最近更新 更多