如何获取SearchResultEntry的用户名

时间:2012-03-08 16:01:07

标签: c# active-directory ldap

我正在使用ldap为活动目录中的更改实现dirSync轮询。它工作正常,但我想获得与SearchResultEntry对象关联的用户名属性(“samaccountname”)以及将被检测到的更改

2 个答案:

答案 0 :(得分:1)

您必须在搜索请求中请求属性。如果您希望的属性作为搜索请求的过去传输到服务器,并且服务器允许连接的身份验证状态检索这些属性,那么这些属性将包含在搜索结果中。有关详细信息,请参阅LDAP: Programming PracticesUsing ldapsearch。后者指的是命令行ldapsearch工具,但这些概念对任何语言都有效。

答案 1 :(得分:1)

SearchResult result; // this would've been defined elsewhere
if(result != null)
{
    DirectoryEntry entry = result.GetDirectoryEntry();
    string name = (string)entry["SAMAccountName"].Value;
}

这将允许您从用户获取名称并将其存储在名称中,并假设您已从目录上的某些搜索中填充了SearchResult命名结果。

编辑:我意识到这不是你要求的,你使用的是SearchResultEntry而不是DirectoryServices.SearchResult。我会把这个留在这里以防万一它可以帮助但我为没有正确阅读原始问题而道歉。