社区
C++ 语言
帖子详情
如何获得本地的所有用户?
yunshiyu
2005-07-29 05:45:40
就是获得计算机管理里面的所有用户:Administrator、Guest、SQLDebugger、user等
应该有个API函数,但我没有找到,有谁知道吗?
...全文
102
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()命令有
为什么 WebRTC 本地音视频会播放本端声音 ? 如何解决本地回声问题 ?
回答: Web 音视频本地回声的原因 一般
用户
Web 端展示音视频的逻辑为: 1、通过 navigator.mediaDevices.getUserMedia 或 stream.get 获取视频和音频流 2、将步骤 1 中获取到的本地视频流赋值给 video 标签, 供本地(己方)展示 3、通过 stream.publish 方法将步骤 1 获取的本地视频流推送给其他
用户
, 供其他
用户
展示 原因: 步骤 2 中 video 标签会播放己方本地音频, 造成本地声音混乱 解决方法 为本地展示的己方 video
如何下载远程maven仓库的jar 手动放到本地仓库?
如何下载远程maven仓库的jar 手动放到本地仓库?如何下载远程maven仓库的jar 手动放到本地仓库?如何下载远程maven仓库的jar 手动放到本地仓库?如何下载远程maven仓库的jar 手动放到本地仓库?如何下载远程maven仓库的jar 手动放到本地仓库?如何下载远程maven仓库的jar 手动放到本地仓库?如何下载远程maven仓库的jar 手动放到本地仓库?如何下载远程maven仓库的jar 手动放到本地仓库?如何下载远程maven仓库的jar 手动放到本地仓库?如何下载远程maven仓库
Win10
用户
获取最高权限的方法?
Win10
用户
获取最高权限的方法? 在初始化win10的时候,系统会要求我们创建一个
用户
帐户,可之后发现,自己创建的
用户
尽管已经是管理员,可很多应用程序依然没有足够的权限使用,对于这种问题我们可以让win10
用户
获取最高权限来解决,那么win10
用户
怎么获取最高权限呢? 1. 首先在Win10桌面按组合键win+r打开运行窗口,或者右键单击开始菜单---windows系统---运行。 ...
微信小程序如何得到code获取token密钥,以及怎么微信登录授权获取
用户
详细信息?
微信小程序如何得到code获取token密钥,以及怎么微信登录授权获取
用户
详细信息? 登录授权流程: 点击进入–进入首页获取code请求到token–授权登录微信 1.如何获取code (1) 第一步:通过wx.login得到code,调用接口获取登录凭证(code)。通过凭证进而换取
用户
登录态信息 wx.login()是微信小程序的内置调用接口获取登录凭证(code)。通过凭证进而换取
用户
登录态信息,包括
用户
在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unioni
PowerShell->>获取本地计算机的
用户
组和组成员
获取本地计算机的
用户
组和组成员 function Get-LocalGroups() { net localgroup | ?{ $_ -match "^\*.*" } | %{ $_.SubString(1) }; } function Get-LocalGroupMembers() { param ([string]$groupName = $(...
C++ 语言
65,198
社区成员
250,522
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章