社区
C++ 语言
帖子详情
如何获得本地的所有用户?
yunshiyu
2005-07-29 05:45:40
就是获得计算机管理里面的所有用户:Administrator、Guest、SQLDebugger、user等
应该有个API函数,但我没有找到,有谁知道吗?
...全文
98
3
打赏
收藏
如何获得本地的所有用户?
就是获得计算机管理里面的所有用户:Administrator、Guest、SQLDebugger、user等 应该有个API函数,但我没有找到,有谁知道吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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、此外,如果你不记得在什么选项下面,可以直接点击...
如何用低代码开发平台搭建本地化部署?
本地化部署是指将软件的服务器部署在企业内部的服务器,
用户
通过访问公司内的服务器即可操作软件,数据存储在公司自己的服务器上。基于客户自身的服务器部署,数据储存在本地服务,第三方无法获取。本地部署使用人群一般是对数据安全性要求很高的政府机构或者大型企业,这类
用户
需要对数据从头到尾的完全把控,并且对接的数据源都是相对机密的,因为业务特性,对稳定性的要求也更高。百数完善的服务流程,可以帮助企业在最快的时间内落地,比传统的系统搭建模式更省时省力,在帮助
用户
进行私有化本地部署的时候,尽可能的节约时间、人力、物力成本。
Windows 10 怎么创建本地帐户?
完成这些步骤后,新的本地帐户将列在“其他
用户
”下。如果您希望
用户
拥有更多权限来安装应用程序和进行系统更改,您将需要更改帐户类型为“管理员”。但是,与使用 Microsoft 帐户不同,您的设置、首选项和文件将保留在本地,以
获得
更安全和私密的体验。7、在“为此电脑创建帐户”部分下,确认新的 Windows 10 本地帐户信息。4、在“其他
用户
”下,单击“将其他人添加到这台电脑” 按钮。4、在“其他
用户
”部分下,选择
用户
帐户。4、在“其他
用户
”部分下,选择本地帐户。5、单击“更改帐户类型”按钮。
爆火的本地知识库项目是什么?什么是RAG?本地知识库与大模型的关系
很多人应该都听过本地知识库项目,它是当今人工智能领域爆火的项目之一,那么到底什么是本地知识库?它和大模型有什么关系?怎么构建本地知识库?01为什么需要本地知识库?其实本地知识库和大模型本身没有什么直接关系,可以说它们是两个完全独立的技术。但因为大模型的幻觉问题和大模型的数据更新迟缓,因此才把知识库技术与大模型技术相结合,产生了大模型知识库技术。什么是知识库?知识库简单来说就是资料库,比如国家图书馆收录了我国几千年来的历史书籍和资料;每家企业都会有一些内部数据;各个领域都有自己领域内的数据和资料。
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章