我有一些查詢Active Directory以驗證用戶存在的代碼。我試圖驗證一個長約1300個ID的清單。我已經嘗試了幾種方法來驗證用戶帳戶(LINQ到AD,DirectorySearcher(有沒有父DirectoryEntry)以及一個連接到WinNT://路徑的DirectoryEntry)。每次它會回來並說幾個用戶不存在。如果我在代碼中對其userid進行硬編碼並單獨執行,它會驗證是否存在。如果我嘗試在foreach循環中執行此操作,我會得到一些錯誤的否定結果。Active Directory未找到C#中的所有用戶
下面是我使用的是現在的代碼..
static string[] userIDs = new string[] "user1","user2","user3","user4","user5","user6","user7","user8"...,"user1300"};
List<string> nonExistingUsers = new List<string>();
List<string> ExistingUsers = new List<string>();
foreach (string s in userIDs)
{
DirectorySearcher search = new DirectorySearcher();
search.Filter = String.Format("(SAMAccountName={0})", s);
search.PropertiesToLoad.Add("cn");
DirectorySearcher ds = new DirectorySearcher(de, "(&(objectClass=user)(cn=" + s + "))", new string[] { "Name" }, SearchScope.Subtree);
SearchResultCollection resultCollection = ds.FindAll();
SearchResult result = search.FindOne();
if (result != null)
ExistingUsers.Add(s);
else
nonExistingUsers.Add(s);
}
任何建議或爲什麼我收到了假陰性原因是什麼?