Einrichten von Visual C++ 6.0 für die ADSI-Entwicklung
Das Microsoft Visual C++ 6.0-Entwicklungssystem kann zum Entwickeln von Unternehmensanwendungen verwendet werden. Führen Sie die folgenden Schritte aus, um Ihre Visual C++ 6.0-Umgebung für die Entwicklung einer ADSI-Anwendung einzurichten:
Einrichten der Microsoft Visual C++ 6.0-Entwicklungsumgebung
- Zeigen Sie auf das Verzeichnis include und library. Wählen Sie Extras | Optionen. Klicken Sie auf die Registerkarte Verzeichnis , und geben Sie den Pfad zu den ADSI-Headerdateien an.
- Schließen Sie die Datei Activeds.h in Ihr Projekt ein.
- Fügen Sie der Linkereingabe für Ihr Projekt die Dateien Activeds.lib und Adsiid.lib hinzu.
- Beginnen Sie mit der Programmierung mit ADSI.
Melden Sie sich bei einer Windows-Domäne an. Sie müssen auch über die Berechtigung zum Ändern von Daten in Active Directory verfügen. Standardmäßig verfügt der Administrator über diese Berechtigung. So geben Sie dieses Codebeispiel ein:
Eine Visual C++-Beispielanwendung: Erstellen eines Benutzers in einer Domäne
Starten Sie Visual C++ 6.0.
Erstellen Sie ein eigenständiges ausführbares Projekt. Dabei kann es sich entweder um eine MFC-, ATL- oder Konsolenanwendung handelt.
Führen Sie die vorherigen Schritte aus, um Ihr Projekt einzurichten.
Geben Sie das folgende Codebeispiel ein. Ersetzen Sie die Zeichenfolge "LDAP://CN=users,DC=fabrikam,DC=com" durch den ADsPath eines Containers in Ihrer Domäne. Sie sollten auch den Benutzernamen "jeffsmith" durch einen Benutzernamen ersetzen, der in Ihrer Domäne eindeutig ist.
#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(); }
Erstellen Sie die Anwendung, und führen Sie sie aus. Um zu überprüfen, ob der Benutzer erstellt wurde, verwenden Sie das Active Directory-Benutzer und -Computer-Verwaltungstool.