c++ - NetUserAdd() 成功,但用户为 "invisible"

标签 c++ windows winapi user-accounts

我正在使用 NetUserAdd API 创建用户。它成功返回,用户有一个用户文件夹,我可以通过 wmic useraccount get name 看到用户名。但是,创建的用户在控制面板下不可见,在登录屏幕上也不可见。我假设我需要将用户添加到某个组,但我不知道添加哪个组或如何添加。

这是我创建用户的方式:

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);

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

最佳答案

您已经创建了用户,但您需要使用 NetLocalGroupAddMembers 将其添加到用户组中.

编辑:刚刚意识到我正在为 .NET 提供方法。看这个example对于 C++。

关于c++ - NetUserAdd() 成功,但用户为 "invisible",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9635725/

相关文章:

c++ - C-String 与 C++Strings 的效率

windows - 如何使用 standalone-full.xml 将 WildFly 作为服务启动?

windows - 如何从另一个批处理脚本调用一个批处理脚本而不在最后暂停?

winapi - 在64位应用程序中加载32位DLL库

c - 枚举 DirectSound 设备描述导致不必要的问号

c++ - Symbian C++ - 在您的应用程序中使用 TTF 字体?

c# - C++ 位图到 C# 位图

c++ - Ros:控制台输出

java - 获取使用 Java 构建 Windows 版本

Python Win32print 作业状态