指定したマネージャを持つActive Directoryからユーザーの一覧を取得しようとしています。 私は成功せず、次のLDAPフィルターを使用:Active Directory検索 - マネージャによるフィルタ
(manager=CN=Misterboss_n*)
をしかし、それは結果を返しません。ユーザーはマネージャー属性に次の値を設定します。
"CN=Misterboss_n,OU=xyz user,DC=xyz,DC=local"
私は間違っていますか?上記のフィルタを次のように置き換えた場合:
(givenName=John*)
これは問題なく動作します(名前がJohnのすべてのユーザーを返します)。
広い文脈:助けを
public List<ADUserDetail> GetAllEmployeesUnderMisterboss()
{
List<ADUserDetail> userlist = new List<ADUserDetail>();
string filter = "";
_directoryEntry = null;
DirectorySearcher directorySearch = new DirectorySearcher(SearchRoot);
directorySearch.Asynchronous = true;
directorySearch.CacheResults = true;
filter = "(manager=CN=Misterboss_n*)";
directorySearch.Filter = filter;
SearchResultCollection userCollection = directorySearch.FindAll();
foreach (SearchResult users in userCollection)
{
DirectoryEntry userEntry = new DirectoryEntry(users.Path, LDAPUser, LDAPPassword);
ADUserDetail userInfo = ADUserDetail.GetUser(userEntry);
userlist.Add(userInfo);
}
return userlist;
}
ありがとう!
ありがとうTomalak! 完全なDNを使用して問題を解決しました。 – Marton