使用目录搜索器(或)用户主体使用电话号码属性查找用户?

时间:2019-05-23 06:57:54

标签: c# .net active-directory

我正在尝试使用注册的电话号码在活动目录中查找用户详细信息。我形成了搜索过滤器,但不返回用户,而是始终返回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();

1 个答案:

答案 0 :(得分:1)

根据您的要求,我认为您的搜索过滤器应如下所示:

"(&(objectCategory=person)(objectClass=user)(telephoneNumber=" + phoneNumber + "))"

此外,您应该非常清楚将要传递到过滤器中的phoneNumber的格式,因为它在搜索时必须匹配。

希望有帮助。