ADSI 개발을 위한 Visual C++ 6.0 설정
Microsoft Visual C++ 6.0 개발 시스템을 사용하여 엔터프라이즈 애플리케이션을 개발할 수 있습니다. ADSI 애플리케이션을 개발하도록 Visual C++ 6.0 환경을 설정하려면 다음 단계를 수행합니다.
Microsoft Visual C++ 6.0 개발 환경 설정
- 포함 및 라이브러리 디렉터리를 가리킵니다. 도구 선택 | 옵션. 디렉터리 탭을 클릭하고 ADSI 헤더 파일의 경로를 지정합니다.
- 프로젝트에 Activeds.h 파일을 포함합니다.
- Activeds.lib 및 Adsiid.lib 파일을 프로젝트의 링커 입력에 추가합니다.
- ADSI를 사용하여 프로그래밍을 시작합니다.
Windows 도메인에 로그온합니다. Active Directory에서 데이터를 수정할 수 있는 권한도 있어야 합니다. 기본적으로 관리자는 이 권한을 줍니다. 이 코드 예제를 입력하려면 다음을 수행합니다.
샘플 Visual C++ 애플리케이션: 도메인에서 사용자 만들기
Visual C++ 6.0을 시작합니다.
독립 실행형 실행 파일을 만듭니다. MFC, ATL 또는 콘솔 애플리케이션일 수 있습니다.
이전 단계에 따라 프로젝트를 설정합니다.
다음 코드 예제를 입력합니다. "LDAP://CN=users,DC=fabrikam,DC=com" 문자열을 도메인에 있는 컨테이너의 ADsPath로 바꿉니다. 또한 사용자 이름 "jeffsmith"를 도메인에서 고유한 사용자 이름으로 바꿔야 합니다.
#include "stdafx.h" #include "activeds.h" int main(int argc, char* argv[]) { HRESULT hr; IADsContainer *pCont; IDispatch *pDisp=NULL; IADs *pUser; // Initialize COM before calling any ADSI functions or interfaces. CoInitialize(NULL); hr = ADsGetObject( L"LDAP://CN=users,DC=fabrikam,DC=com", IID_IADsContainer, (void**) &pCont ); if ( !SUCCEEDED(hr) ) { return 0; } //----------------- // Create a user //----------------- hr = pCont->Create(CComBSTR("user"), CComBSTR("cn=jeffsmith"), &pDisp ); // Release the container object. pCont->Release(); if ( !SUCCEEDED(hr) ) { return 0; } hr = pDisp->QueryInterface( IID_IADs, (void**) &pUser ); // Release the dispatch interface. pDisp->Release(); if ( !SUCCEEDED(hr) ) { return 0; } // Commit the object data to the directory. pUser->SetInfo(); // Release the object. pUser->Release(); CoUninitialize(); }
애플리케이션을 빌드 및 실행합니다. 사용자가 만들어졌는지 확인하려면 Active Directory 사용자 및 컴퓨터 관리 도구를 사용합니다.