用于添加/编辑/删除活动目录用户

时间:2017-01-08 21:00:34

标签: c# asp.net-mvc active-directory

以下代码:

public string AddADUser(string user_name, string password, string first_name, string last_name, string company_name) {
    try {
        List<ADUser> ADUsers = new List<ADUser>();
        string admin_userName = "Administrator";
        string admin_password = "Password!";
        string domain = "sneaky";
        var context = new PrincipalContext(ContextType.Domain, domain, admin_userName, admin_password);


        UserPrincipal NewUserPrincipal = new UserPrincipal(context, user_name, password, true);

        NewUserPrincipal.UserPrincipalName = user_name;
        NewUserPrincipal.SamAccountName = user_name;
        // company NewUserPrincipal.GetUnderlyingObject.

        NewUserPrincipal.GivenName = first_name;
        NewUserPrincipal.Surname = last_name;
        NewUserPrincipal.DisplayName = user_name;
        NewUserPrincipal.Enabled = true;

        NewUserPrincipal.Save();
        return "User Saved Sucessfully";
    } catch (Exception ex) {
        return "Error saving user: \n" + ex.ToString();
    }
}

产生以下错误:

  

保存用户时出错:System.DirectoryServices.AccountManagement.PrincipalOperationException:RPC服务器不可用。 (HRESULT异常:0x800706BA)---&gt; System.Runtime.InteropServices.COMException:RPC服务器不可用。 (来自HRESULT的异常:0x800706BA)---内部异常堆栈跟踪的结束---在project.DirectoryServices.AccountManagement.ADStoreCtx.Insert(Principal p)处于project.DodeoryServices.AccountManagement.Principal.Save()的project.Models处。 UserBAL.AddADUser(String user_name,String password,String first_name,String last_name,String company_name)位于C:\ Users \ sneakyguy \ Desktop \ project \ project \ Models \ UserBAL.cs:第107行

奇怪的是,我为另一个用户收到了拒绝访问权限的错误,我想也许他没有权限创建用户...所以我尝试了管理员帐户,现在我得到了这个错误。我知道最终我需要做到这一点,以便执行操作的用户必须有权创建/编辑和删除活动目录中的用户......我还需要知道如何在广告中设置这些权限。我还需要为用户设置公司字段。

1 个答案:

答案 0 :(得分:0)

The RPC server is unavailable错误消息表明您的VS开发计算机无法联系您的域控制器以添加用户。