NetUserAdd()成功,但是用户“不可见" [英] NetUserAdd() successful, but user is "invisible"

查看:63
本文介绍了NetUserAdd()成功,但是用户“不可见"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 NetUserAdd API创建一个用户.它成功返回,该用户具有一个User文件夹,我可以看到 wmic useraccount get name 的用户名.但是,创建的用户在控制面板下或登录屏幕上均不可见.我假设我需要将该用户添加到某个组中,但是我不知道该使用哪种方式.

I'm creating a user with the NetUserAdd API. It returns successfully, the user has a User folder and I can see the username with wmic useraccount get name. However, the created user is not visible under the control panel, nor on the logon screen. I assume that I need to add the user to some group but I don't know which or how.

这是我创建用户的方式:

Here is how I create the user:

USER_INFO_1 user_info;
ZeroMemory(&user_info, sizeof(user_info));
user_info.usri1_name = userName;
user_info.usri1_password = password;
user_info.usri1_priv = USER_PRIV_USER;
user_info.usri1_flags = UF_SCRIPT | UF_DONT_EXPIRE_PASSWD;

DWORD dwLevel = 1;
DWORD dwError = 0;
NET_API_STATUS nStatus = NetUserAdd(NULL, dwLevel, (LPBYTE)&user_info, &dwError);

如何使用户在登录屏幕上可见?

How can I make the user visible on the logon screen?

推荐答案

该用户未出现在欢迎屏幕上,因为它没有添加到用户"组中.这是这样做的方法:

The user was not showing up on the welcome screen because it was not added to the Users group. This is how to do it:

LOCALGROUP_MEMBERS_INFO_3 lmi3;
ZeroMemory(&lmi3, sizeof lmi3);
lmi3.lgrmi3_domainandname = user_info.usri1_name;
DWORD err = NetLocalGroupAddMembers(NULL, L"Users", 3, (LPBYTE) &lmi3, 1);

这篇关于NetUserAdd()成功,但是用户“不可见"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆