社区
C++ 语言
帖子详情
如何获得本地的所有用户?
yunshiyu
2005-07-29 05:45:40
就是获得计算机管理里面的所有用户:Administrator、Guest、SQLDebugger、user等
应该有个API函数,但我没有找到,有谁知道吗?
...全文
125
3
打赏
收藏
如何获得本地的所有用户?
就是获得计算机管理里面的所有用户:Administrator、Guest、SQLDebugger、user等 应该有个API函数,但我没有找到,有谁知道吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
erwinrommel
2005-07-30
打赏
举报
回复
学习贴,收藏,很少看到5星级人物回帖啊,呵呵!
masterz
2005-07-29
打赏
举报
回复
#include "stdafx.h"
#import "c:\program files\common files\system\ado\msado15.dll" rename
("EOF", "adoEOF")
#include <fstream>
#include <sstream>
#include <Iads.h>
#include <comdef.h>
#include <tchar.h>
#include <stdio.h>
#include <Adshlp.h>
#pragma comment(lib,"ActiveDS")
#pragma comment(lib,"adsiid")
#include <atlbase.h>
#include <iostream>
void print_property(HRESULT hr,_bstr_t& property_name,
_variant_t& property_value)
{
if(FAILED(hr))
{
std::cout<<"Failed to get property: "<<(LPCTSTR)property_name
<<std::endl;
return;
}
if(VT_BSTR == property_value.vt)
{
std::cout<<(LPCTSTR)property_name<<":"
<<(LPCTSTR)(_bstr_t)property_value<<std::endl;
}
if(VT_I4 == property_value.vt)
{
std::cout<<(LPCTSTR)property_name<<":"
<<(long)property_value<<std::endl;
}
if(VT_VARIANT|VT_ARRAY )
{
SAFEARRAY* psa = property_value.parray;
VARIANT* varArray=NULL;
SafeArrayAccessData(psa,(VOID**)&varArray);
UINT uDim = SafeArrayGetDim(psa);
if(1==uDim)
{
long lLbound,lRbound;
SafeArrayGetLBound(psa,1,&lLbound);
SafeArrayGetUBound(psa,1,&lRbound);
std::cout<<(LPCTSTR)property_name<<":"<<std::endl;
for(long i=lLbound;i<=lRbound;i++)
{
if(varArray[i].vt==VT_BSTR)
{
_bstr_t bstmp(varArray[i].bstrVal,true);
std::cout<<(LPCTSTR)(bstmp)<<std::endl;
}
}
SafeArrayUnaccessData(psa);
}
}
}
HRESULT get_from_current_domain(_bstr_t sFilter)
{//Tested on Windows 2000 Professional SP4, VC6 SP6
CComPtr<IADs> pRoot;
HRESULT hr = S_OK;
_bstr_t object_name = "LDAP://rootDSE";
hr = ADsGetObject(object_name,IID_IADs,(void**)&pRoot);
if(SUCCEEDED(hr))
{
BSTR bstr = NULL;
_variant_t property_value;
_bstr_t property_name = "defaultNamingContext";
hr=pRoot->Get(property_name,&property_value);
print_property(hr,property_name,property_value);
if(SUCCEEDED(hr))
{
CComPtr<IADs> pDomain;
_bstr_t ldap_domain = "LDAP://";
ldap_domain += (_bstr_t)property_value;
hr = ADsGetObject(ldap_domain,IID_IADs,(void**)&pDomain);
if(FAILED(hr))
{
return hr;
}
hr = pDomain->get_ADsPath(&bstr);
if(FAILED(hr))
return hr;
_bstr_t sBase;
sBase = "<";
sBase += bstr;
sBase += ">";
SysFreeString(bstr);
bstr = NULL;
//_bstr_t sFilter = "(&(objectCategory=person)(objectClass=user))";
_bstr_t sAttribs = "name";
_bstr_t sDepth = "subTree";
_bstr_t sQuery = sBase + ";" + sFilter + ";" + sAttribs
+ ";" + sDepth;
ADODB::_ConnectionPtr pConnection;
pConnection.CreateInstance( __uuidof( ADODB::Connection ) );
_bstr_t bstrEmpty;
pConnection->Open("Data Source=Active Directory
Provider;Provider=ADsDSOObject",
bstrEmpty, bstrEmpty, -1 );
ADODB::_RecordsetPtr pRecordset;
_variant_t records_affected;
pRecordset = pConnection->Execute(sQuery,&records_affected,0);
while(!pRecordset->adoEOF)
{
std::cout<<(LPCTSTR)(_bstr_t)pRecordset->Fields->Item["name"]->Val
ue
<<std::endl;
pRecordset->MoveNext();
}
if(pRecordset->State)
{
pRecordset->Close();
std::cout<<"Close recordset"<<std::endl;
}
if(pConnection->State)
{
pConnection->Close();
std::cout<<"Close connection"<<std::endl;
}
}
}
else
{
std::cout<<"failed to get object:"<<(LPCTSTR)object_name
<<std::endl;
}
return ERROR_SUCCESS;
}
HRESULT get_all_users()
{
std::cout<<"Get all users of current domain"<<std::endl;
return
get_from_current_domain("(&(objectCategory=person)(objectClass=user))"
);
}
HRESULT get_all_computers()
{
std::cout<<"Get all computers of current domain"<<std::endl;
return get_from_current_domain("(&(objectCategory=computer))");
}
int main(int argc, char* argv[])
{
CoInitialize(NULL);
get_all_users();
get_all_computers();
CoUninitialize();
return 0;
}
OpenHero
2005-07-29
打赏
举报
回复
system()命令有
win8计算机管理没本地
用户
和组,win7系统服务器管理器没有"本地
用户
和组"选项怎么办?...
win7系统服务器管理器没有"本地
用户
和组"选项怎么办?具体方法如下:1、出现这种情况一般是组策略做限制了,打开运行gpedit.msc打开组策略编辑器;2、依次点击,
用户
设置---管理模板---mircosoft管理控制台---受限制的许可管理单元--- 右侧 【本地用和组】;3、把本地
用户
和组的设置,禁用状态设置为 启用,或者未配置,然后确定;4、此外,如果你不记得在什么选项下面,可以直接点击...
如何
获得
使用PHP的服务器的本地IP地址?
这可能是也可能不是用于访问该页面的IP地址,它可能是也可能不是与Web服务器绑定的IP地址。你在这里遇到的问题是,这不是一个静态的信息。如果你的服务器有一个简单的,单一的IP地址配置,那么你可能是最好的硬编码 – 这是最简单的选择。作为使应用程序更加
用户
友好的一部分,我计划显示服务器的本地IP ,以便networking中的其他计算机通过在地址栏中input此IP来访问应用程序非常容易。$_SERVER['SERVER_NAME']包含已在Web服务器配置中配置的名称,因为它是服务器页面。
python获取微信
用户
基本信息_python批量获取微信
用户
资料
Published on:April 27, 2014问题背景一个基于微信开放接口的应用。我们保存了数十万个微信
用户
的openid。由于历史原因,却没有保存openid以外的信息。现在需要做一个操作把所有的关注者的微信资料补充完整。如何获取微信
用户
的资料?参考官方接口文档, http://mp.weixin.qq.com/wiki/index.php?title=获取
用户
基本信息只需要用任意的ht...
Midjourney与comfyui是否可以本地化安装?
Midjourney 有专门针对国内
用户
的本地化版本,可以在其。
爆火的本地知识库项目是什么?什么是RAG?本地知识库与大模型的关系
很多人应该都听过本地知识库项目,它是当今人工智能领域爆火的项目之一,那么到底什么是本地知识库?它和大模型有什么关系?怎么构建本地知识库?
C++ 语言
65,209
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章