windows下如何查询用户的session id?
Posted
技术标签:
【中文标题】windows下如何查询用户的session id?【英文标题】:How to query a user's session id under Windows? 【发布时间】:2012-12-25 23:20:58 【问题描述】:假设有两个用户A和B登录电脑,我们可以在cmd.exe中使用命令“查询会话”来获取每个用户名的所有会话ID。
我的问题如下:
1、如何通过API(用户态或内核态)查询给定用户名的会话id?
2、如何通过API(用户态或内核态)查询给定session id的用户名?
提前致谢!
【问题讨论】:
【参考方案1】:您可以为此使用Remote Desktop Services API。
1、如何通过API查询给定用户名的会话ID (用户模式还是内核模式)?
只需使用WTSEnumerateSessions
获取所有会话,遍历它们,使用WTSQuerySessionInformation
获取用户名并检查是否匹配。
或者,如果您有该用户的an access token,您可以使用GetTokenInformation
来检索它的会话ID。
2、如何通过API查询给定会话ID的用户名 (用户模式还是内核模式)?
正如您可能从上一个答案中猜到的那样,您可以使用 WTSQuerySessionInformation
从会话 ID 中获取用户名。
【讨论】:
以上是关于windows下如何查询用户的session id?的主要内容,如果未能解决你的问题,请参考以下文章