[英]Remotely search AD for computer object without OU
大家好,
我被要求寫一些代碼以在AD中找到計算機對象,但我沒有得到這些對象可能所在的OU(這完全沒有幫助-顯然)。 我確定可以使用以下命令遠程連接到AD服務器:
DirectoryEntry startingPoint = new DirectoryEntry("LDAP://DC=Zone,DC=Corp,DC=COM", "UserName", "Password");
//Find all OUs
DirectorySearcher searcher = new DirectorySearcher(startingPoint);
searcher.Filter = "(objectCategory=Computer)";
foreach (SearchResult result in searcher.FindAll())
{
}
不幸的是,我唯一擁有的信息是所有對象的深度都不會超過3 OU。 因此,我想知道如何深入研究每個OU,直到找到指定的主機名為止。 我不確定如何解決這個問題。 任何援助將不勝感激。
首先,我將SearchScope
更改為Subtree
,然后將主機名作為過濾器的一部分包含在內。 然后,我將使用FindOne()
而不是FindAll()
:
DirectoryEntry startingPoint = new DirectoryEntry("LDAP://DC=Zone,DC=Corp,DC=COM", "UserName", "Password");
DirectorySearcher searcher = new DirectorySearcher(startingPoint)
{
SearchScope = SearchScope.Subtree,
Filter = $"(&(objectCategory=Computer)(cn={hostname}))"
};
SearchResult result = searcher.FindOne();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.