window server 2003创建AD用户?????????急...再不行就丢饭碗了......

解决方案 »

  1.   

    /// <summary>
    /// 创建站点(包括Windows用户、目录、FTP)
    /// </summary>
    /// <summary>
    /// 创建Windows用户
    /// </summary>
    /// <param name="uid">用户名称</param>
    /// <param name="pwd">用户密码</param>
    /// <returns></returns>
    private static string CreateUser(string uid, string pwd){
    DirectoryEntry AD=new DirectoryEntry("WinNT://"+Environment.MachineName+", computer");
    DirectoryEntry NewUser=AD.Children.Add(uid, "user");
    NewUser.Invoke("SetPassword", new object[] {pwd});
    NewUser.Invoke("Put", new object[] {"Description", "来自www.nj139.com的程序自动创建"});
    try{
     NewUser.CommitChanges();
    }
    catch{
    return "Windows用户已经存在";
    }
    DirectoryEntry grp;
    grp=AD.Children.Find("Guests", "group");
    if (grp!=null) grp.Invoke("Add", new object[] {NewUser.Path.ToString()});
    grp=AD.Children.Find("IIS_WPG", "group");
    if (grp!=null) grp.Invoke("Add", new object[] {NewUser.Path.ToString()});
    return "创建Windows用户成功";
    }
      

  2.   

    这个是要具有很高的权限才可能通过WEB创建的,老大!如果你要本地建立,在命令行下。“开始”-》“运行”-》“CMD.EXE”-》输入命令net user 用户名 密码 /addnet localgroup administrators 刚建立的用户名 /add就建立了一个你的用户,而且权限是administrator最高的
      

  3.   

    用户这东西是需要权限的,如果只通过asp.net是不行的
      

  4.   

    确实是权限不足的啊,最直接的方法就是给匿名访问对应的帐号(例如Win2003使用的Network Service)提升权限,但这样很危险哦,所以比较好的方法就是设计一个代理程序来做这个事情。详细的方法是,做一个代理程序(通常是Windows Service),让它已足够的权限来运行,一方面监听来自ASP.NET的指示,另一方面操作AD。ASP.NET在需要的时候,就知是这个Service去做该做的操作,例如操作AD。
      

  5.   

    恩,同意楼上的几位说法,如果用。net的权限是不可能搞出AD用户的!
      

  6.   

    只能说这么做非常的危险!。NET用户拥有创建AD的权限!
    那么,还有什么不可以破坏的呢?