You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Win32获取指定登录会话的LastLoggedOnProvider?

无需访问注册表获取指定登录会话的LastLoggedOnProvider?

是的,可以通过Win32 API直接获取指定登录会话的最后登录提供程序,无需读取注册表。核心实现步骤如下:

  • 调用LsaEnumerateLogonSessions枚举系统内的所有登录会话,获取会话ID集合。
  • 针对目标会话ID,调用LsaGetLogonSessionData获取该会话的完整登录信息,返回的LOGON_SESSION_DATA结构体中,AuthenticationPackage字段即为对应登录提供程序的名称(例如"Kerberos"、"Negotiate"、"NTLM"等)。
  • 注意事项:调用这类LSA(本地安全授权)API需要管理员权限,编译时需链接Secur32.lib库。

LOGON_SESSION_DATA的AuthenticationPackage字段与注册表路径HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\SessionData下的LastLoggedOnProvider值内容完全一致,都是登录身份验证提供程序的标识。

内容的提问来源于stack exchange,提问作者dbv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 10:55:55