我有这段代码
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上测试它)它会显示一个域列表:WORKGROUP,本地机器名称,公司域名。在其他人的名单上是空的。首先,我认为它停止工作,但一些同事在运行代码时仍然看到列表;我看不到它(我们有相同的操作系统,安装了相同的.Net框架)。
答案 0 :(得分:0)
建议使用以下代码:
using System.DirectoryServices.dll;
using (var forest = Forest.GetCurrentForest())
{
foreach (Domain domain in forest.Domains)
{
_AvailableDomains.Add(domain.Name);
domain.Dispose();
}
}