在我之前的question的上下文中,我试图在C ++中获取当前登录的Windows Active directoy用户的UPN。 我知道如何获取登录用户的SID但无法获取登录用户的UPN。
答案 0 :(得分:0)
假设您正在作为服务器(具有高权限)对抗客户端程序,您可以使用Windows impersonation API模拟用户,然后使用NameUserPrincipal作为名称格式调用GetUserNameExW。 这里棘手的部分可能是冒充,取决于你必须使用什么。
如果您只有SID并且模拟不是一个选项,您可以使用WMI或LDAP并查询DC:搜索具有匹配SID的用户实体并获取UserPrincipalName属性。同样,您需要足够的权限。