我正在使用NetQueryDisplayInformation(我已经尝试过NetUserEnum函数)来获取本地计算机上的用户帐户集。我可以通过这种方式获得所有帐户 - 但我只想要与实际人类相关联的帐户,而不是例如用于软件更新的隐藏帐户。
在相关结构和the MSDN documentation上阅读similar Stack questions之后,我发现没有什么可以让我过滤到我需要的帐户。
理想情况下,某人会有一个简单可靠的解决方案:
有什么想法吗?
[很久以后] 得到答案,但不是这里 - 只需枚举每个用户的组。 “真人”帐户将是管理员,高级用户,用户,访客中的一个或多个的成员。
答案 0 :(得分:0)
您可以使用NetUserEnum功能。它应该返回系统上所有用户帐户的列表。我不必亲自使用此功能,因此我无法提供任何壮观的代码示例,但MSDN信息听起来像您正在寻找的。
答案 1 :(得分:0)
您可以使用NetQueryDisplayInformation API,并按位检查用户信息标记。
我有完全相同的要求,所以我做了示例代码(从MSDN GROUP查询修改)。
我使用的用户标志是:
UF_NORMAL_ACCOUNT
UF_ACCOUNTDISABLE
UF_PASSWD_NOTREQD ---> this ensure we get Human account, Human account always requires password.
工作代码:http://www.cceye.com/list-system-normal-user-account-only/