Now: Tutorial for Web and Software Design > Programming > win32 > Programming Content
> Active Directory Programming - Enumerating Users from a local computer [Bookmark it]
Active Directory Programming - Enumerating Users from a local computer
   Active Directory Programming has become necessary now a days because Active Directory is now been considered as a standard across all organizations. In an active directory structure the objects like computers, users, groups etc., are treated as object nodes with their own properties and collections. This article explains how to use the Active Directory Programming concept to enumerate the users in a local computer.

   This Active Directory programming sample uses the objects IADsContainer and IADsUser and functions like ADsGetObject, ADsBuildEnumerator and ADsEnumerateNext.

Active Directory programming - Important interfaces and functions:

IADsContainer:

   This Active directory programming interface can be used like a container to hold the other objects. For example this can be used to query the list of users and hold it. This can then be used with enumeration functions to enumerate the objects queried.

IADsUser:

   This IADsUser active directory programming interface is used to hold the properties of a user of a domain or a local computer.

ADsGetObject:

   This is used to retrieve the object when the right path/ADSI query is specified.

ADsBuildEnumerator and ADsEnumerateNext:

   These two Active directory programming functions are used to enumerate the collection of objects inside the container.

Active Directory programming - Sample code to retrieve the list of users:

   The following console based application sample can retrieve the users present in the local computer.


#include <comdef.h>
#include <Iads.h>
#include <Adshlp.h>

int main()
{

HRESULT hr;
IADsContainer *pCont = NULL;

CoInitialize(NULL);

hr = ADsGetObject(L"WinNT://domain/computer", IID_IADsContainer, (void**) &pCont );
if ( !SUCCEEDED(hr) ) { return hr;}

_variant_t var;
IEnumVARIANTPtr pEnum;
ADsBuildEnumerator (pCont,&pEnum);
int cnt=0;
ULONG ulFetched = 0L;

_variant_t vChild;
while((SUCCEEDED(ADsEnumerateNext(pEnum, 1, &vChild, &ulFetched)) && ulFetched==1))
{

IADsUser* pADs;
hr = V_DISPATCH(&vChild)->QueryInterface(IID_IADsUser, (void**)&pADs);
if(hr!=S_OK)
   break;

BSTR bstrName;
pADs->get_Name(&bstrName);
CString csName=bstrName;
SysFreeString(bstrName);
printf("%s\n",csName);
pADs->Release();
pADs = NULL;

}

// Cleanup.
if ( pCont )
{
pCont->Release();
}
CoUninitialize();

}


   The ADsGetObject first retrieves the information of the objects present in the computer. Then ADsBuildEnumerator is used to build an enumerator of all the objects. ADsEnumerateNext can be used to traverse through the list till it fails to get a IAdsUser object.

Note: The above program needs to be linked with ActiveDS.lib Adsiid.lib and MFC Libraries.

[Bookmark][Print] [Close][To Top]
  • Prev Article-Programming:

  • Next Article-Programming:
  • Related Materias
    Passing an Array to and fr
    Using the For匛ach Stateme
    Executing a VB Program wit
    Sorting Viewer Tutorial - 
    Creating a Toolbar - Visua
    Using Office applications 
    VB Tutorials - MultiSelect
    Visual Basic Explorer - Tu
    Visual Basic Explorer - Tu
    Visual Basic Explorer - OL
    Topics
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Graphic Design Tutorial
     

    Coreldraw Tutorial

      Illustrator Tutorial
      3D Graphics Articles
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial&Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial&Articles
     

    XML Style Tutorial

      AJAX Tutorial
      XML Mobile
    Flash Tutorial&Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial&Articles
     

    Linux Tutorial

      Symbian Tutorial
      MacOS Tutorial