1

我试图更好地了解 Windows 会话的工作原理,所以如果我在问题中有一些奇怪的错误,请告诉我。

LsaEnumerateLogonSessions()用来获取系统中所有已登录的会话。现在我有代表登录的 LUID,如果我理解正确,它代表登录的用户或像 SYSTEM 这样的构建用户。

现在,如果用户 X 启动一个进程,Windows 会给该进程一个代表 X 的令牌。

有没有办法(在 Windows 服务中)从 LUID 获取用户的令牌?我知道我可以从进程 HANDLE 中得到它,但这不是我想要的。

4

1 回答 1

3

您可以LsaGetLogonSessionData用来获取会话 ID,然后用来WTSQueryUserToken从中获取令牌。请注意,您可能需要作为 LocalSystem 运行WTSQueryUserToken(请参阅“如何获取物理会话的当前用户令牌? ”)。

于 2010-12-26T14:11:19.070 回答