我有三個或多個域像main.com
,sub.main.com
,和等如何使用System.DirectoryServices.AccountManagement在多個域中進行搜索?
我有一個代碼:
using (PrincipalContext ctx =
new PrincipalContext(ContextType.Domain, "ADServer",
"dc=main,dc=com", ContextOptions.Negotiate))
{
UserPrincipal u = new UserPrincipal(ctx);
u.UserPrincipalName = "*" + mask + "*";
using (PrincipalSearcher ps = new PrincipalSearcher(u))
{
PrincipalSearchResult<Principal> results = ps.FindAll();
List<ADUser> lst = new List<ADUser>();
foreach (var item in results.Cast<UserPrincipal>().Take(15))
{
byte[] sid = new byte[item.Sid.BinaryLength];
item.Sid.GetBinaryForm(sid, 0);
ADUser us = new ADUser()
{
Sid = sid,
Account = item.SamAccountName,
FullName = item.DisplayName
};
lst.Add(us);
}
}
return lst;
}
但它只搜索一個領域內:main.com
。
如何一次搜索所有域中的記錄?
我不認爲您可以一次搜索多個域。你需要「序列化」你的搜索。 –
你的意思是說我必須知道域名並用循環搜索它們嗎? –