我正在尝试使用NetAddUser添加本地用户,但是无缘无故地获取此错误代码 - 87。据我所知,根据MSDN,完成了一段代码。这可能有什么问题?
#include "stdafx.h"
#include <windows.h>
#include <Lm.h>
#pragma comment(lib, "netapi32.lib")
int _tmain(int argc, _TCHAR* argv[])
{
wchar_t wchLogin[256] = { 0 };
wchar_t wchPassword[256] = { 0 };
DWORD dwError = 0;
USER_INFO_1 user_info;
//ZeroMemory(&user_info, sizeof(USER_INFO_1));
NET_API_STATUS err;
wcscpy_s(wchLogin, L"test_user");
wcscpy_s(wchPassword, L"123");
user_info.usri1_name = wchLogin;
user_info.usri1_password = wchPassword;
user_info.usri1_priv = USER_PRIV_ADMIN;
//user_info.usri1_script_path = L"";
//user_info.usri1_flags = UF_SCRIPT;
//user_info.usri1_home_dir = NULL;
//user_info.usri1_comment = NULL;
//user_info.usri1_flags = UF_SCRIPT | UF_WORKSTATION_TRUST_ACCOUNT;
err = NetUserAdd(NULL, 1, (LPBYTE)&user_info, &dwError);
if ( err != NERR_Success )
{
printf("Error adding user: %d\n", err);
}
getchar();
return 0;
}
谢谢!
答案 0 :(得分:1)
答案在MSDN中,这是摘录:
<强> usri1_priv 强>
输入:DWORD
分配给usri1_name成员的权限级别。 当您调用NetUserAdd函数时,此成员必须为USER_PRIV_USER 。什么时候 你调用NetUserSetInfo函数,这个成员必须是值 由NetUserGetInfo函数或NetUserEnum函数返回。 该成员可以是以下值之一。欲获得更多信息 关于用户和组帐户权限,请参阅权限。