C# 检索所有域名

C# 检索所有域名,c#,.net,C#,.net,我有这个密码 using (var winNT = new DirectoryEntry("WinNT:")) { foreach (DirectoryEntry child in winNT.Children) { if (String.Compare(child.SchemaClassName, "Domain", true) == 0)

我有这个密码

            using (var winNT = new DirectoryEntry("WinNT:"))
            {
                foreach (DirectoryEntry child in winNT.Children)
                {
                    if (String.Compare(child.SchemaClassName, "Domain", true) == 0)
                    {
                        _AvailableDomains.Add(child.Name);
                    }
                }
            }

在一些机器上(我刚刚在Win 2016上测试过),它会显示一个域列表:工作组、本地机器名、公司域。但是其他人的列表是空的。首先,我认为它停止工作了,但是一些同事在运行代码时仍然看到列表;我看不到它(而且我们安装了相同的操作系统和相同的.Net framework)。

建议使用以下代码:

using System.DirectoryServices.dll;

using (var forest = Forest.GetCurrentForest())
{
    foreach (Domain domain in forest.Domains)
    {
        _AvailableDomains.Add(domain.Name);
        domain.Dispose();
    }
}

这是许可问题吗?