如何获得当前线程的用户名和此用户的SID
2008-06-17 15:29
267 查看
SID, security ID / 安全 ID 标识用户、组和计算机帐户的唯一的号码。在第一次创建该帐户时,将给网络上的每一个帐户发布一个唯一的 SID。Windows 2000 中的内部进程将引用帐户的 SID 而不是帐户的用户或组名。如果创建帐户,再删除帐户,然后使用相同的用户名创建另一个帐户,则新帐户将不具有授权给前一个帐户的权力或权限,原因是该帐户具有不同的 SID 号。安全标识符也被称为安全 ID 或 SID。 保存以下文件为whoami.c,编译看看。:) #include <stdio.h> #include <stdlib.h> #include <windows.h> //Use function ConvertSidToStringSid Need to define version 5 for Windows 2000 #define _WIN32_WINNT 0x0500 #include <sddl.h> int main(int argc,char **argv) { TCHAR szUserName[256]; DWORD dwSize2=256,cbSID = 1024,cchDomainName = 80; int ret; PSID pSID; LPSTR lpszDomain,StringSid; PSID_NAME_USE psnuType; if(argc!=1) { printf("/nPower by eyas<eyas@patching.net>" "/n2001.2.23/n"); } ret=GetUserName(szUserName,&dwSize2); if(ret==0) { printf("/nGetUserName failed.ErrorCode:%d.",GetLastError()); } pSID = (PSID) LocalAlloc(LPTR, cbSID); lpszDomain = (LPSTR) LocalAlloc(LPTR, cchDomainName); psnuType = (PSID_NAME_USE) LocalAlloc(LPTR, 1024); ret=LookupAccountName((LPSTR)NULL,szUserName,pSID,&cbSID,lpszDomain,&cchDomainName,psnuType); if(ret!=0) { StringSid=(LPSTR) LocalAlloc(LPTR, 1024); ret=ConvertSidToStringSid(pSID,&StringSid); printf("/n%s//%s",lpszDomain,szUserName); printf("/nSID:%s/n",StringSid); LocalFree((HLOCAL)StringSid); } else { printf("/nLookupAccountName failed.ErrorCode:%d.",GetLastError()); } FreeSid(pSID); if(psnuType != NULL) LocalFree((HLOCAL) psnuType); if(lpszDomain != NULL) LocalFree((HLOCAL) lpszDomain); return 0; }
相关文章推荐
- wordpress如何获得当前用户的头像
- facebook开发如何获得当前登录用户的token
- [11] DevOps 自动化运维工具Chef----如何获得Chef数据用户的用户名和密码?
- ASP.NET中如何获得当前已登录用户的Email信息呢?
- ubuntu 如何修改当前用户名 添加用户 修改权限
- ubuntu 命令--如何修改当前用户名并增加用户到admin组
- 如何获得所有windows用户的SID
- SharePoint中如何获得当前用户的loginName
- ubuntu 如何修改当前用户名 添加用户 修改权限
- iOS 开发 如何获得用户当前位置(通过经纬度获得城市、省份等信息)
- SharePoint中如何获得当前用户的loginName
- 如何获取WordPress当前用户信息
- WEB系统 记录当前用户个数,当前访问系统的用户名 2
- linux下如何添加一个用户并且让用户获得root权限
- 如何获得当前系统时间
- 用户研究(4)教你如何获得用户的芳心
- 想用二维码推广应用,如何保证 Andriod 用户和 iOS 用户扫描同一个二维码后获得相应的 App ?
- windows 获取当前用户的sid
- VBA中如何获取当前登录用户名
- 2011-09-07 00:16 ubuntu 如何修改当前用户名