我正在尝试使用注册的电话号码在活动目录中查找用户详细信息。我形成了搜索过滤器,但不返回用户,而是始终返回null。我哪里错了?可以使用UserPrincipal完成吗?救救我。
到目前为止我尝试过的代码:
DirectoryEntry _entry = new DirectoryEntry("LDAP://Address",ConfigurationManager.AppSettings["ADDomainUserName"], ConfigurationManager.AppSettings["ADDomainPassword"]);
DirectorySearcher _searcher = new DirectorySearcher(_entry);
_searcher.Filter = String.Format("(&(objectClass=group)(objectCategory =person)(telephoneNumber = " + phoneNumber + "))");
SearchResult item = _searcher.FindOne();
var tn = item.Properties["telephonenumber"][0].ToString();
答案 0 :(得分:1)
根据您的要求,我认为您的搜索过滤器应如下所示:
"(&(objectCategory=person)(objectClass=user)(telephoneNumber=" + phoneNumber + "))"
此外,您应该非常清楚将要传递到过滤器中的phoneNumber的格式,因为它在搜索时必须匹配。
希望有帮助。