实现:API实现创建用户并且添加至管理员

参考文章:https://www.cnblogs.com/17bdw/p/6790197.html#_label0

利用的API函数:
1、NetUserAdd
2、NetLocalGroupAddMembers


NetUserAdd

NET_API_STATUS NET_API_FUNCTION
NetUserAdd (
    IN  LPCWSTR     servername OPTIONAL,  //指定远程服务器的DNS或NetBIOS名称的函数来执行。如果该参数为NULL,使用本地计算机。
    IN  DWORD      level,
    IN  LPBYTE     buf,
    OUT LPDWORD    parm_err OPTIONAL
    );
NetLocalGroupAddMembers

NET_API_STATUS NET_API_FUNCTION
NetLocalGroupAddMembers (
    IN  LPCWSTR     servername OPTIONAL,
    IN  LPCWSTR     groupname,
    IN  DWORD      level,
    IN  LPBYTE     buf,
    IN  DWORD      totalentries
    );

实现过程:使用NetUserAdd这个API添加普通权限的用户,NetLocalGroupAddMembers这个API添加管理员权限。

示例代码:

// windows_api.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
  
#include "pch.h"
#include <iostream>
#include<stdio.h>  
#include<windows.h>  
#include<lm.h>  
#pragma comment(lib,"netapi32")
int wmain(int argc, wchar_t *argv[])
{
    // 定义USER_INFO_1结构体
    USER_INFO_1 ui;
    DWORD dwError = 0;
    //小笔记 LPWSTR 是 wchar_t *   , L"zzzhh" 类型是const wchar_t[6] 可以隐式转换为const whcar_t *
    wchar_t username[] = L"adexx$";
    ui.usri1_name = username;            // 账户   
    wchar_t password[] = L"adexx!@#QWE";
    ui.usri1_password = password;      // 密码
    ui.usri1_priv = USER_PRIV_USER;
    ui.usri1_home_dir = NULL;
    ui.usri1_comment = NULL;
    ui.usri1_flags = UF_SCRIPT;
    ui.usri1_script_path = NULL;
    //添加名为adexx的用户,密码为p@adexx!@#QWE
    if (NetUserAdd(NULL, 1, (LPBYTE)&ui, &dwError) == NERR_Success)
    {
        std::cout << "普通用户添加成功" << std::endl;
    }
    else
    {
        //添加失败
        std::cout << "普通用户添加失败" << std::endl;

    }

    // 添加用户到administrators组
    LOCALGROUP_MEMBERS_INFO_3 account;
    account.lgrmi3_domainandname = ui.usri1_name;
    if (NetLocalGroupAddMembers(NULL, L"Administrators", 3, (LPBYTE)&account, 1) == NERR_Success)
    {
        //添加成功    
        std::cout << "管理员用户添加成功" << std::endl;
    }
    else
    {
        //添加失败    
        std::cout << "管理员用户添加失败" << std::endl;
    }
    return 0;
}

实现:API实现创建用户并且添加至管理员

上一篇:C#进阶系列(收藏园内牛人文章)


下一篇:C#与.Net的关系