0

在 Sharepoint(或任何 ASP.NET Web 应用程序)中,我想要一个创建 AD 用户的功能。我正在使用 System.DirectoryServices.AccountManagement 来完成这项任务,但我遇到了麻烦。这是我的代码:

using (var pc = new PrincipalContext(ContextType.Domain,"DOMAIN","administrator","password"))
{
    if (pc.ValidateCredentials("administrator", "password"))
    {
        UserPrincipal up = new UserPrincipal(pc, username, password, true);
        up.Save();
    }
}

用户被创建但被禁用。我知道我的管理员:密码对是正确的,因为“if”语句返回 true。同样在创建过程中,我收到异常:

Exception has been thrown by the target of an invocation.

我检查了 PrincipalContext 对象,它正在使用“管理员”帐户连接到域控制器。这个错误和 up.Save() 函数抛出异常的原因可能是什么?

4

1 回答 1

0

您可以尝试以下方法:

using (var pc = new PrincipalContext(ContextType.Domain,"DOMAIN","administrator","password"))
            {
                using (var up = new UserPrincipal(pc))
                {
                    up.SamAccountName = textboxUsername.Text; // Username
                    up.SetPassword(textboxPassword.Text); // Password
                    up.Enabled = true;
                    up.ExpirePasswordNow();
                    up.Save();
                }
            }

这至少应该确保用户已创建并已启用。让我知道它是否有效。

于 2013-04-23T04:48:03.683 回答