我做了一个b/s网页,需要实现在客户端增加一个系统用户同时要在服务上也增加一个Windows用户,有没有办法实现呢?我用Process执行dos命令net user在Debug下是可以的,发布到IIS上就报访问错误。请问有没有办法实现呀?在线等……
没分了就这些了,谢谢大拿们了

解决方案 »

  1.   

    本帖最后由 net_lover 于 2010-09-02 09:09:11 编辑
      

  2.   

    //WinNT用户管理 
    using System; 
    using System.DirectoryServices;  
    namespace Host.AdminManager.Inc 

    public class WindwosUser 

    //创建NT用户 
    //传入参数:Username要创建的用户名,Userpassword用户密码,Path主文件夹路径 
    public static bool CreateNTUser(string Username,string Userpassword,string Path) 

    DirectoryEntry obDirEntry = null; 
    try 

    obDirEntry = new DirectoryEntry("WinNT://" + Environment.MachineName); 
    DirectoryEntry obUser = obDirEntry.Children.Add(Username, "User"); //增加用户名 
    obUser.Properties["FullName"].Add(Username); //用户全称 
    obUser.Invoke("SetPassword", Userpassword); //用户密码 
    obUser.Invoke("Put", "Description","Test User from .NET");//用户详细描述 
    //obUser.Invoke("Put","PasswordExpired",1); //用户下次登录需更改密码 
    obUser.Invoke("Put","UserFlags",66049); //密码永不过期 
    obUser.Invoke("Put","HomeDirectory",Path); //主文件夹路径 
    obUser.CommitChanges();//保存用户 
    DirectoryEntry grp = obDirEntry.Children.Find("Users", "group");//Users组 
    if(grp.Name!="") 

    grp.Invoke("Add",obUser.Path.ToString());//将用户添加到某组 

    return true; 

    catch 

    return false; 


    //删除NT用户 
    //传入参数:Username用户名 
    public static bool DelNTUser(string Username) 

    try 

    DirectoryEntry obComputer = new DirectoryEntry("WinNt://" + Environment.MachineName);//获得计算机实例 
    DirectoryEntry obUser = obComputer.Children.Find(Username,"User");//找得用户 
    obComputer.Children.Remove(obUser);//删除用户 
    return true; 

    catch 

    return false; 


     
    //修改NT用户密码 
    //传入参数:Username用户名,Userpassword用户新密码 
    public static bool InitNTPwd(string Username,string Userpassword) 

    try 

    DirectoryEntry obComputer = new DirectoryEntry("WinNt://" + Environment.MachineName); 
    DirectoryEntry obUser = obComputer.Children.Find(Username,"User"); 
    obUser.Invoke("SetPassword", Userpassword); 
    obUser.CommitChanges(); 
    obUser.Close(); 
    obComputer.Close(); 
    return true; 

    catch 

    return false; 



      

  3.   

    B/S结构控制客户端PC创建用户,需要很高权限吧,感觉有点儿像病毒了
      

  4.   

    本帖最后由 net_lover 于 2010-09-02 09:20:28 编辑
      

  5.   

    你把项目文件夹的权限设为everyone