我正在努力理解所有的SECURITY_LOGON_TYPE值:
typedef enum _SECURITY_LOGON_TYPE {
Interactive = 2,
Network,
Batch,
Service,
Proxy,
Unlock,
NetworkCleartext,
NewCredentials,
RemoteInteractive,
CachedInteractive,
CachedRemoteInteractive,
CachedUnlock
} SECURITY_LOGON_TYPE, *PSECURITY_LOGON_TYPE;
我试图在这样的C++代码的上下文中理解它们,它列出了所有登录会话:
//Error handling is skipped!
ULONG n = 0;
LUID* pluid;
LsaEnumerateLogonSessions(&n, &pluid);
for(ULONG s = 0; s < n; s++)
{
PSECURITY_LOGON_SESSION_DATA* ps;
LsaGetLogonSessionData(&pluid[s], &ps);
//Analyze logon type
ps->LogonType;
LsaFreeReturnBuffer(ps);
}
LsaFreeReturnBuffer(pluid);
到目前为止,我可以理解这些:
Interactive
,如果实际(人类)用户登录到工作站。(如我们现在查看此页面时所示。)RemoteInteractive
(如果已与此工作站建立Remote Desktop Connection)。
有人能为其他值添加更多描述吗?
1条答案
按热度按时间ifsvaxew1#
MSDN的解释都是非常不言自明的,有以下说明:
CachedXXXX
-不要求域控制器进行验证;而是根据凭据的本地缓存副本进行检查。Batch
-使用批处理登录类型运行的计划任务。You can deny the Batch Logon right, which would prevent a user from running scheduled tasks。