C++ ADSI 获取域里面 指定用户组中的所有用户~ !~

hf330607448 2014-07-25 05:40:41
对这方面知识一点都不懂啊!~ 求帮助~~
HRESULT hr;
IDirectorySearch *pSearch;
if(namebuf == NULL)
return 0;
if(domain ==NULL)
return 0;
if(adname == NULL)
return 0;
if(password == NULL)
return 0;
CoInitialize(NULL);
char admainbuf[100] = {0};
strcpy(admainbuf,"LDAP://");
strcat(admainbuf,domain);
hr = ADsOpenObject(CComBSTR(admainbuf/*"LDAP://192.168.6.230"*/), //地址
CComBSTR(adname/*"tanzhenglian"*/), //用户
CComBSTR(password/*"1qaz!QAZ"*/), //密码
ADS_SECURE_AUTHENTICATION,
IID_IDirectorySearch,
(void**)&pSearch);
if(hr == 0x8007052e)//hr = 0x8007052e 登录失败: 未知的用户名或错误密码。
return -1;
if(hr == 0x8007203a)//hr = 0x8007203a 该服务器不可操作。
return -2;
if (FAILED(hr))
return 0;

ADS_SEARCHPREF_INFO prefInfo[1];
prefInfo[0].dwSearchPref = ADS_SEARCHPREF_SEARCH_SCOPE;
prefInfo[0].vValue.dwType = ADSTYPE_INTEGER;
prefInfo[0].vValue.Integer = 100;
hr = pSearch->SetSearchPreference( prefInfo, 1);
if (FAILED(hr))
{
pSearch->Release();
}
// LPWSTR pszSearchFilter = L"(&(objectClass=user)(objectCategory=person))";
LPWSTR pszSearchFilter = L"(&(objectClass=group))";
LPWSTR pszAttr[] = {L"sAMAccountName"};
ADS_SEARCH_HANDLE hSearch;
LPOLESTR pszColumn = NULL;
int iCount = 0;
DWORD x = 0;
DWORD dwCount= sizeof(pszAttr)/sizeof(LPWSTR);
hr = pSearch->ExecuteSearch(
pszSearchFilter,
pszAttr,
dwCount,
&hSearch
);

ADS_SEARCH_COLUMN col;
*count = 0;
if ( SUCCEEDED(hr) )
{
hr = pSearch->GetFirstRow(hSearch);
if (SUCCEEDED(hr))
{
while( hr != S_ADS_NOMORE_ROWS )
{
iCount++;
while( pSearch->GetNextColumnName( hSearch, &pszColumn ) != S_ADS_NOMORE_COLUMNS )
{
hr = pSearch->GetColumn( hSearch, pszColumn, &col );
if ( SUCCEEDED(hr) )
{
for (x = 0; x< col.dwNumValues; x++)
{
namebuf[*count] = new wchar_t[256];
wcscpy(namebuf[*count],col.pADsValues[x].CaseIgnoreString);
//查找到用户组 如何获取组中的 所有用户?
(*count)++;
}

}
pSearch->FreeColumn( &col );
}
FreeADsMem( pszColumn );
hr = pSearch->GetNextRow( hSearch);
}
}
}else
{
return 0;
}
CoUninitialize();
...全文
91 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hf330607448 2014-07-29
自顶··· 求解决啊··
回复
相关推荐
发帖
C++ 语言
创建于2007-09-28

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2014-07-25 05:40
社区公告
暂无公告