windows 获取当前用户的sid
1)cmd命令查询

2)代码获取
char userName[MAX_NAME] = "";
char sid[MAX_NAME] = "";
DWORD nameSize = sizeof(userName);
GetUserName((LPWSTR)userName, &nameSize);
char userSID[MAX_NAME] = "";
char userDomain[MAX_NAME] = "";
DWORD sidSize = sizeof(userSID);
DWORD domainSize = sizeof(userDomain);
SID_NAME_USE snu;
LookupAccountName(NULL,
(LPWSTR)userName,
(PSID)userSID,
&sidSize,
(LPWSTR)userDomain,
&domainSize,
&snu);
PSID_IDENTIFIER_AUTHORITY psia = GetSidIdentifierAuthority(userSID);
sidSize = sprintf(sid, "S-%lu-", SID_REVISION);
sidSize += sprintf(sid + strlen(sid), "%-lu", psia->Value[5]);
int i = 0;
int subAuthorities = *GetSidSubAuthorityCount(userSID);
for (i = 0; i < subAuthorities; i++)
{
sidSize += sprintf(sid + sidSize, "-%lu", *GetSidSubAuthority(userSID, i));
}
本文详细介绍了如何通过命令行和代码实现Windows系统中获取当前用户的Security Identifier (SID),包括使用cmd命令查询以及C++代码实现LookupAccountName函数获取SID。
4278

被折叠的 条评论
为什么被折叠?



