我在Active Directory中搜索使用PrincipalSearcher
對象的特定SamAccountName
值,因爲我想返回UserPrincipal
's。我想知道如何將兩個過濾器應用於該搜索;一個是帳戶名稱的開始以xx開頭,另一個是不以_c結尾。使用PrincipalSearcher進行復雜搜索過濾
目前我可以使用xx*
搜索以xx開頭的所有結果,但我無法弄清楚如何添加另一個搜索詞或者甚至不適用搜索詞。這是我目前的工作。
protected override void RunTests()
{
using (PrincipalContext context = new PrincipalContext(ContextType.Domain, "NAME", "OU=OUName",OU=name,DC=name,DC=net"))
{
UserPrincipal searchTemplate = new UserPrincipal(context);
searchTemplate.Enabled = true;
searchTemplate.SamAccountName = "xx*";
PrincipalSearcher search = new PrincipalSearcher(searchTemplate);
var principals = search.FindAll();
int total = principals.Count();
int numInvalidUsers = RunChecks(principals, new Check[]{
Check1
, Check2
, Check3
});
Score = numInvalidUsers == 0 ? 1 : 0;
}
}
我在想什麼是我需要另一個參數添加到searchTemplate.SamAccountName
,我只是不知道如何。
更新: 我是說有人在Reddit誰是給我一些有用的建議,但該用戶已經黑了。似乎最常見的建議是以某種方式實現LDAP過濾器。所以如果有人知道如何實現這些,同時仍然返回主要對象,這將是非常有用的。