我有一个多域活动目录环境,需要根据 DOMAIN\username 查找用户。
以下代码非常适合按 SID 查找用户。
DirectorySearcher directorySearcher = new DirectorySearcher(new DirectoryEntry(
"GC://" + Forest.GetCurrentForest().Name));
directorySearcher.Filter =
"(&" +
(&(objectCategory=person)(objectClass=user)) +
"(objectSid=" + this.SID + "))";
var result = directorySearcher.FindOne();
但现在我处于一种情况,我所拥有的只是 DOMAIN\username。
过滤器中有什么?
我考虑的一种方法是连接到特定域而不是全局目录并通过不合格的 SAMAccountName 进行搜索。但我的问题是我不知道如何从 DOMAIN 到 DC=Domain,DC=Org 或 domain.org。
当我在 Active Directory 用户和计算机中时,通过 DOMAIN\username 搜索整个目录似乎没有问题。幕后发生了什么?