C++ 如何确定用户在众所周知的组中的成员身份

C++ 如何确定用户在众所周知的组中的成员身份,c++,windows,winapi,access-token,C++,Windows,Winapi,Access Token,在我目前的工作中,我需要列举Windows中知名组的成员,如Everyone、Interactive User等。我可以找到一些“根据我”的定义,如何估计用户是每个人的成员,但要获得其他组的信息要困难得多。我遇到了一个可以满足我需要的东西,几乎是因为我需要在不登录他/她的情况下获得用户访问令牌(因为我不知道她/他的密码)。有没有可能在没有用户登录的情况下获得访问令牌?我想在没有.NET的情况下解决这个问题。所有人、交互用户、经过身份验证的用户都不是真正的组。它们是出现在您的令牌中的SID,但您不

在我目前的工作中,我需要列举Windows中知名组的成员,如Everyone、Interactive User等。我可以找到一些“根据我”的定义,如何估计用户是每个人的成员,但要获得其他组的信息要困难得多。我遇到了一个可以满足我需要的东西,几乎是因为我需要在不登录他/她的情况下获得用户访问令牌(因为我不知道她/他的密码)。有没有可能在没有用户登录的情况下获得访问令牌?我想在没有.NET的情况下解决这个问题。

所有人、交互用户、经过身份验证的用户都不是真正的组。它们是出现在您的令牌中的SID,但您不是其中的成员

相反,如果您进行了身份验证,或者您是交互式的,那么该属性将添加到您的令牌中,以此类推。因此,同一用户可以通过网络连接,而他们的令牌中不会有交互用户。但如果他们通过终端服务登录,他们的令牌将拥有交互式用户


从本例中可以看出,这些伪组不是用户的属性,而是登录会话的属性。因此,您无法枚举具有该属性的用户。

您必须查看。这是一个关于SID、组、成员等等的很好的文章集。C++中的样本。

这是本地用户还是广告用户?@ BeNJ:对于第二个问题,对于每个代码的用户来说,每个人都是< <代码> >组。因此,除了匿名令牌之外,每个人都会得到<代码> >每个人<代码> SID。