我要开发一个软件可以添加win 2000的用户,并设置他的权限。我找了很久的资料不知怎么解决,请各位多多帮忙

解决方案 »

  1.   

    shell 
    cmd 
    net user
    net localgroup
      

  2.   

    http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=532&lngWId=-10主要是用這個API:
    NET_API_STATUS NetUserAdd(
      LPCWSTR servername,
      DWORD level,
      LPBYTE buf,
      LPDWORD parm_err
    );
      

  3.   

    使用WMI
    参考:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmistart_5kth.asp
      

  4.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/using_the_wmi_scripting_type_library_with_visual_basic_and_visual_interdev.asp
      

  5.   

    我刚写了个DEMO学习使用和这相关的API,已经成功的如下: ===== 以下是声明 ===== '添加用户 -- ok
    Public Declare Function NetUserAdd Lib "Netapi32.dll" _
        (ByVal ServerName As Any, ByVal Level As Long, ByVal buf As Any, ByRef parm_err As Long) As Long'删除用户 -- ok
    Public Declare Function NetUserDel Lib "Netapi32.dll" _
        (ByVal ServerName As Any, ByVal UserName As Any) As Long ===== 以下是代码 =====   '本地添加用户,添加至组
      Dim UserInf As USER_INFO_1
        
        ListMsg.AddItem " ========== add a new user ========== "
        
        With UserInf
            .usri1_name = "123123"
            .usri1_password = "123"
            .usri1_password_age = 0
            .usri1_priv = USER_PRIV_USER
            .usri1_home_dir = ""
            .usri1_comment = ""
            .usri1_flags = UF_DONT_EXPIRE_PASSWD + UF_NORMAL_ACCOUNT
            .usri1_script_path = ""
        End With
        
         rc = NetUserAdd("", 1, VarPtr(UserInf), ErrCode)    strTemp = "return " & rc
        ListMsg.AddItem strTemp
        If rc <> 0 Then
            strTemp = " the action is failed ,err code = "
            strTemp = strTemp & ErrCode
            ListMsg.AddItem strTemp
            ListMsg.AddItem ""
            ListMsg.ListIndex = ListMsg.ListCount - 1
            Exit Sub
        End If
        
        ListMsg.AddItem "the action is succ"
        ListMsg.AddItem ""
        ListMsg.ListIndex = ListMsg.ListCount - 1  '本地删除用户
        ListMsg.AddItem " ========== del user '123123' ========== "
        rc = NetUserDel("", StrPtr("123123"))
        strTemp = "return " & rc
        ListMsg.AddItem strTemp
        If rc <> 0 Then
            ListMsg.AddItem " the action is failed "
            ListMsg.AddItem ""
            ListMsg.ListIndex = ListMsg.ListCount - 1
            Exit Sub
        End If
        
        ListMsg.AddItem "the action is succ"
        ListMsg.AddItem ""
        ListMsg.ListIndex = ListMsg.ListCount - 1
    我也碰到问题了,添加组时,报错:用户没有权限;向已有的组中添加用户时,报错:找不到组,
    不知道应该怎么解决,请CSDN的朋友指点,谢谢
      

  6.   

    可以用 NET 命令
    Net Help Localgroup
    看一下就知道了
      

  7.   

    请问osman003(寻找快乐) VarPtr的函数原形是怎样的?
      

  8.   

    请问osman003(寻找快乐) UF_DONT_EXPIRE_PASSWD这个常数值是多少?
      

  9.   

    添加用户: net user /add 用户名 密码
    删除用户: net user /delete 用户名
    提升权限: net localgroup administrators 用户名 /add直接用shell不更方便
      

  10.   

    用ADSI吧http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/adsi_objects_of_winnt.asp