0

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

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”字段提供的字符数。

4

1 回答 1

0

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

编辑的属性是dirEntry.UsernamesAMAccountName。

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

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

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

希望有帮助。

于 2013-04-11T10:01:51.460 回答