Hi All,

I want to enable/disable users who logged in Domain Name Server (DNS).
Through VC++ code.
If anyone has idea regarding this please reply me asap.

Thanks in advance for u r reply.

Regards,
Shalin.

Recommended Answers

All 8 Replies

np dude ;)

Hi all,

Finaly I got the answer & here is the code in VC++.
Please Insert the ACTIVEDS.LIB & ADSIID.LIB files in your project.

Regards
Shashi Pawar.
//================= CODE =======================

#include "stdafx.h"
#include "ActiveDir.h"
#include "Activeds.h"
#include <comdef.h>
#include <Iads.h>
#include <Adshlp.h>


int main()
{

HRESULT hr = S_OK;
IADsContainer *pCont = NULL;
CoInitialize(NULL);

hr = ADsGetObject(L"WinNT://DOMAIN_NAME/COMP_NAME",
IID_IADsContainer, (void**) &pCont );
//Put your domain name & computer name.



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 = NULL;
HRESULT hr = S_OK;


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

BSTR bstrName; 
pADs->get_Name(&bstrName);//stores the Usernames in a string.
CString csName=bstrName;

SysFreeString(bstrName);
printf("%s\n",csName);

if (csName == "User_Name")//put username here
hr = pADs ->put_AccountDisabled(VARIANT_FALSE);//TRUE for disable FALSE for enable the account.
        hr = pADs ->SetInfo (); //To commit the operation
        exit(0);

}

pADs->Release();//IADs user list
pCont->Release ();//free the objects container
}

}

Hello,

Great on the code!

Just wanted to clarify that no one logs in through DNS. DNS (Domain Naming Service) is a "yellow pages" of information concerning servers and computers on the internet, or in a private network. DNS maps the name www.apple.com to 17.x.y.z You will not receive a login prompt from a DNS server.

What you are talking about here is Active Directory, a pure Microsoft Thing. While hooks are becoming available for Mac and Linux to login to Active Directory, it is mainly a Windoze operation.

Code looks great though! I wonder if it would work from a linux box, assuming that the other libraries are available.

Christian

Hello,

Great on the code!

Just wanted to clarify that no one logs in through DNS. DNS (Domain Naming Service) is a "yellow pages" of information concerning servers and computers on the internet, or in a private network. DNS maps the name www.apple.com to 17.x.y.z You will not receive a login prompt from a DNS server.

What you are talking about here is Active Directory, a pure Microsoft Thing. While hooks are becoming available for Mac and Linux to login to Active Directory, it is mainly a Windoze operation.

Code looks great though! I wonder if it would work from a linux box, assuming that the other libraries are available.

Christian

hi,
U r right, it is for active directory users a pure windows thing,
I didnt tried such thing on linux, may be their are some libraries available.

Regards,
Shalin

Very, Good! This is help me/

You just posted in a 4 year old thread, read THIS before posting again, incase you missed it..

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.