日期:2014-05-18  浏览次数:20555 次

asp.net 修改Active Directory 中用户信息,求助!!!!!
asp.net 修改Active Directory 中用户信息,求助!!!!!

现在是这样的,我通过获取网页中文本框中内容,进行数据库操作,增,删,查,改,
里面有字段电话号码,手机,邮箱等等


用户在修改手机号码的时候同时更新 数据库字段信息,和Active Directory 中用户信息,。。

Active Directory很让我郁闷,没有用过,有没有大神用过,给个案例,找了好多资料没看懂~~

------解决方案--------------------
C# code
using System.DirectoryServices;

--先应用

 

--添加用户

DirectoryEntry entry = new DirectoryEntry(BaseFunctions.DomainSrv,HttpContext.Current.Session["username"].ToString(),HttpContext.Current.Session["password"].ToString(), AuthenticationTypes.Secure);
    DirectoryEntry   subEntry   =   entry.Children.Find(ou.Value);
    DirectoryEntry deUser = subEntry.Children.Add("cn=" +firstname.Text.ToString()+lastname.Text.ToString(), "user");
    deUser.Properties["userPrincipalName"].Add((accountname.Text.ToString()+"@"+BaseFunctions.Domainname));
    deUser.Properties["samAccountName"].Add(accountname.Text.ToString());//帐户
    deUser.Properties["description"].Value = desc.Text.ToString();
    deUser.Properties["sn"].Add(firstname.Text.ToString());
    deUser.Properties["givenName"].Add(lastname.Text.ToString());
    deUser.Properties["displayName"].Add(firstname.Text.ToString()+lastname.Text.ToString());
     deUser.CommitChanges();

    deUser.Invoke("ChangePassword",new object[]{"",password.Text.ToString()});
    deUser.Properties["userAccountControl"].Value = 0x200;
    deUser.CommitChanges();
    deUser.Close();
    lblShowInfo.Text="添加成功";

------解决方案--------------------
你需要采用管理员身份运行你的iis才可以操作Active Directory
操作代码
http://www.codeproject.com/Articles/18102/Howto-Almost-Everything-In-Active-Directory-via-C

Howto: (Almost) Everything In Active Directory via C#