我需要检查提供的用户名是VC ++中的本地用户还是域用户。我认为LookupAccountName会因为最后一个论点而给我所需要的东西。我使用它来从帐户名称获取SID,它完全正常并且给我正确的SID,但不是他更正SID_NAME_USE。该网站说:
peUse [out]:指向SID_NAME_USE枚举类型的指针,指示函数返回时帐户的类型。
然而,无论我提供什么类型的用户(本地用户或域用户),peUse始终是SidTypeUser。我也试过LookupAccountSid,我也得到了同样的东西。这是我的问题:
请有人帮助我,我已经坚持了一段时间了。
谢谢!
答案 0 :(得分:2)
将LsaQueryInformationPolicy
与PolicyDnsDomainInformation
一起使用,以检索计算机主域的SID。 (如果Sid
成员是NULL
,则计算机未加入域。)
否则,使用LookupAccountName
检索您感兴趣的SID,然后使用GetWindowsAccountDomainSid
提取用户SID的域部分。
使用EqualSid
将主域的SID与用户的域SID进行比较。如果SID相等,则用户登录到域帐户;否则,用户登录到本地帐户。