[英]How to get list of all domains in Active Directory using C#
任何人都可以幫助我獲取 Active Directory 中的所有域。 我試了很多次,但所有的程序都只列出了當前的工作域。
我怎樣才能做到這一點?
Domain domain = Domain.GetDomain(new DirectoryContext(DirectoryContextType.Domain, "yourDomain", "username", "password"));
Forest forest = domain.Forest;
DomainCollection domains = forest.Domains;
以上使用 System.DirectoryServices.ActiveDirectory 命名空間。 它將為您提供一個域集合,其中包含與您的給定域位於同一林中的所有域。
我在讓LeeMobile 的代碼在我的案例中工作時遇到了一些問題,因為它在運行 Forest.Domains 時試圖找到我的應用程序的當前域上下文。 我能夠通過做這樣的事情來解決它。
Forest forest = Forest.GetForest(new DirectoryContext(DirectoryContextType.Forest, "yourForestDomain", "username", "password"));
DomainCollection domains = forest.Domains;
使用 DirectorySearcher,您可以連接並讀取一個 Active Directory 的結構,包括結構(組織單位、組、用戶、計算機、域控制器)。 為了連接到不同的域,您需要該其他域的憑據。 我們在從屬於不同域的機器連接到另一個域時遇到問題,而不是目標機器。 我也很好奇這是否可能。
您還可以使用 System.DirectoryServices.ActiveDirectory.Forest.GetCurrentForest().Domains
var domains = Forest.GetCurrentForest().Domains.Cast<Domain>();
foreach (var domain in domains)
{
Console.WriteLine(domain.Name);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.