ldap User对应Active Directory中的哪个字段?

时间:2013-04-11 08:00:35

标签: c# active-directory

我使用以下代码在活动目录中找到用户

DirectoryEntry dirEntry = null;
using (dirEntry = new DirectoryEntry(ldapPath, ldapUser, ldapPassword))
{
    try
    {
        Object adsiObject = dirEntry.NativeObject;
        result = true;
    }
    catch (Exception exception)
    {
        errorInfo.ErrorCode = -1;
        errorInfo.ErrorMessage = exception.Message;
    }
}

我对“ldapUser”有疑问。

Active Directory中哪个字段对应? 是“用户登录名”还是“2000之前的用户登录名”?

我需要知道可以为“ldapUser”字段提供的字符数。

1 个答案:

答案 0 :(得分:0)

您所谓的“用户登录名”实际上是 用户主体名称 (UPN),而Windows 2000之前是 sAMAccountName 即可。您可以在属性编辑器中找到它们(您需要高级功能)。

使用dirEntry.Username编辑的属性是sAMAccountName。

如果您更改用户名,我建议您也编辑您的UPN。我更喜欢直接使用DirectoryEntry对象的属性,如:

dirEntry.Properties["sAMAccountName"].Value = newName_;
dirEntry.Properties["userPrincipalName"].Value = newName_ + "@yourdomain.com";

关于所需字符数,取决于您的GPO(最小值以及是否需要特殊/大写字符)。 对于最大值,它是20个字符。我几个月前就遇到了这个问题。

希望有所帮助。

相关问题