我是Active Directory域管理员,如何获取某些域用户的访问令牌?我想使用这个用户的访问令牌从只向他开放的共享文件夹中获取一些数据。
答案 0 :(得分:1)
如果用户已登录并且您想使用其令牌模拟他,则该过程为:
使用WTSEnumerateSessions
在循环中列出系统的所有活跃用户。
如果用户符合您的要求,请使用PWTS_SESSION_INFO
信息进行比较。
如果用户匹配,则使用WTSQueryUserToken
获取用户的令牌。此Api需要您在调用PWTS_SESSION_INFO
WTSEnumerateSessions
结构中获取的会话ID
使用DuplicateTokenEx复制令牌,然后使用ImpersonateLoggedOnUser模拟该用户。
复制文件等进行工作
RevertToSelf时。
如果用户未登录并且您想使用他的凭据模拟并执行工作,那么:
LogonUser
API获取令牌,然后从上面的选项中执行步骤4。