日期:2014-05-17  浏览次数:20880 次

怎样在程序中判断某个用户帐号是属于哪个组
怎样在程序中判断某个用户帐号是属于哪个组的呢?
有什么API可以实现吗?

------解决方案--------------------
什么程序?
------解决方案--------------------
不明比你要做什么
------解决方案--------------------
NetUserGetLocalGroups 可以枚据组中的所有用户
再用for逐个比较

下面是我以前写的代码
HRESULT IsUserInLocalGroup(BSTR bsSerName,BSTR bsUserName,BSTR bsGroupName,bool * pbExist,BSTR bsErrstr)
{
HRESULT hr;
NET_API_STATUS nStatus;
_bstr_t bstr2,bstr3,bstrDCName;
DWORD dw1 = 0,dw2 = 0,i;
PLOCALGROUP_USERS_INFO_0 buffer = NULL;
if(bsUserName == NULL || bsGroupName == NULL)
{
return -1;
}
*pbExist = false;
bstr2 = bsUserName;
bstr3 = bsGroupName;
nStatus = NetUserGetLocalGroups(bsSerName, bstr2, 0, 0,(LPBYTE *)&buffer, -1, &dw1, &dw2);
if(nStatus != NERR_Success)
{
return -1;
}
for(i=0;i <dw1;i++)
{
if(wcsicmp(buffer[i].lgrui0_name ,bstr3) == 0)
{
*pbExist = true;
break;
}
}
if(buffer) NetApiBufferFree(buffer);
return S_OK;
}
------解决方案--------------------
这个还用的着API?
用Windows 的 Net user 用户名 命令直接侦测命令返回结果中的“属于组”字段即可
------解决方案--------------------
这个……
------解决方案--------------------
up