Platform SDK: Active Directory, ADSI, and Directory Services

Object Creation Wizards

In the Active Directory™ administrative snap-ins, the user can create new objects in the directory by opening the context menu for the container where the new object will be created, choosing New, and then choosing the class of object to create. Creating new instances of an object invokes the object creation wizard. Each class of object may specify the use of a specific creation wizard, or it may use a generic creation wizard. For well known classes (for example, user and organizationalUnit), the Active Directory Users and Computers snap-in provides a standard set of creation wizards.

Note that object creation wizards can be invoked from other applications. For more information, see Invoking Creation Wizards from Your Application.

There are two methods for extending creation wizards:

In both cases, the extension UI has to be implemented as a COM object and it must support the IDsAdminNewObjExt interface.

If a creation wizard is not registered for an object class, Active Directory administrative snap-ins provide a generic creation wizard. The generic creation wizard is built at run time from the list of mandatory properties for the class of object that is being created. For each mandatory property, a page is added to the UI. The generic creation wizard is not extensible. If extensibility is required, it must be replaced with a primary extension.

To replace the existing creation wizard (or the generic creation wizard if no creation wizard is registered) for an object class

  1. Write the primary extension COM object. The COM object must implement IDsAdminNewObjExt and provide pages .
  2. Install the creation wizardCOM object on the computers where you want the creation wizard to be used. It is recommended that you create a Microsoft® Windows® Installer package for your creation wizard COM object's DLL and deploy the package appropriately using the group policy. See Using MSI and Windows 2000 Application Deployment to Distribute UI Additions.
  3. Register the creation wizard as the primary extension for a particular object class.

    Add the value for your creation wizard COM object in the creationWizard property of the display specifier for the class for which your creation wizard will be the primary extension. Note that you can register the same creation wizard COM object for more than one class.

    Note that registration is specific to one locale. If the creation wizard COM object is specific to a certain locale, it should be registered in a displaySpecifier in the locale container that it applies to. If it applies to all locales, it should be added to the appropriate displaySpecifier (that is, the one that represents the class that should get the creation wizard) in all locale containers.

To extend an existing creation wizard

  1. Write the secondary extension COM object. The COM object must implement IDsAdminNewObjExt and provide pages.
  2. Install the creation wizard COM object on the computers where you want the creation wizard extension to be used. It is recommended that you create a Microsoft Installer package for your creation wizard COM object's DLL and deploy the package appropriately using the group policy. See Using MSI and Windows 2000 Application Deployment to Distribute UI Additions.
  3. Register the creation wizard as an extension for a particular object class.

    Add a value for your creation wizard COM object to the existing values in the createWizardExt property of the display specifier for the class whose creation wizard you want to extend. You can register the same creation wizard COM object for more than one class.

    Note that registration is per locale. If the creation wizard COM object is specific to a certain locale, it should be registered in a displaySpecifier in the locale container that it applies to. If it applies to all locales, it should be added to the appropriate displaySpecifier (that is, the one that represents the class that should get the creation wizard) in all locale containers.