羽毛球

生活在别处

导航

<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

留言簿(29)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜

用windows API创建一个管理员帐号

下面是创建一个管理员(administrator)帐户的代码:
#pragma comment(lib, "Netapi32.lib")

#include 
<Windows.h>
#include 
<Lm.h>

int main(int argc, char* argv[])
{
    
//Create an ordinary account
    NET_API_STATUS ret = 0;
    DWORD dwErr 
= 0
    USER_INFO_1 oUserInfo;
    ZeroMemory(
&oUserInfo, sizeof(oUserInfo));
    oUserInfo.usri1_name 
= L"NewUser";
    oUserInfo.usri1_priv 
= USER_PRIV_USER;
    oUserInfo.usri1_flags 
= UF_NORMAL_ACCOUNT;
    ret 
= NetUserAdd(NULL, 1, (LPBYTE)(&oUserInfo), &dwErr);

    
//Add that accout into the administrators group
    _LOCALGROUP_MEMBERS_INFO_3 oUser;
    oUser.lgrmi3_domainandname 
= oUserInfo.usri1_name;
    ret 
= NetLocalGroupAddMembers(NULL, L"Administrators"3, (LPBYTE)(&oUser), 1);

    
return 0;
}


在实现这段代码之前,走了不少弯路。
1)NetUserAdd是除了用ASDI创建帐户外另一个选择。
2)Windows提供的几个将account加入到group的API,很相似,容易出错。
    开始,我想都没想就用了“NetGroupAdd”来添加用户,当始终返回2220错误,找不到group。
    然后猜测管理员组名可能不是“Administrators”,就想枚举系统中所有group,用NetGroupEnum or NetQueryDisplayInformation函数,结果只能枚举到一个奇怪的group--“None”。
    Code Project一个类似工程也是这样。郁闷啦。

    在痛苦的找很多资料后,发现NetGroupAdd竟然是操纵global group,Local group是另一函数“NetLocalGroupAdd”。相应的枚举函数是NetLocalGroupEnum

posted on 2005-07-21 21:16 Michael 阅读(4867) 评论(12)  编辑 收藏

评论

# re: 用windows API创建一个管理员帐号 2005-07-22 08:49 flyingleaf

路过 up 一个

# re: 用windows API创建一个管理员帐号 2005-08-03 18:42 ff

太强了

# re: 用windows API创建一个管理员帐号 2005-11-12 23:33 洋溢

快点找回

# 273429435 2006-01-24 05:46 张强

sdfsafaf

# saaasa 2006-01-24 05:47 ss

打发达到

# re: 用windows API创建一个管理员帐号 2008-01-24 08:57 超人

建一个管理员帐号

# re: 用windows API创建一个管理员帐号 2008-01-24 08:58 超人

API创建一个管理员帐号

# re: 用windows API创建一个管理员帐号 2008-01-24 08:58 张超

API创建一个管理员帐号

# re: 用windows API创建一个管理员帐号 2008-01-24 08:58 张超

API创建一个管理员帐号

# re: 用windows API创建一个管理员帐号 2008-01-24 08:59 洋溢

洋溢 

# re: 用windows API创建一个管理员帐号 2008-10-07 23:18 ew4tret4ew

4w5r4324

# re: 用windows API创建一个管理员帐号 2008-10-07 23:18 ew4tret4ew

4w5r4324

标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]