Recipe 10.5 Extending the Schema

10.5.1 Problem

You want to extend the schema to support new classes and attributes in Active Directory.

10.5.2 Solution

Extending the schema is a straightforward process, which consists of adding new classes or attributes, or modifying existing ones in the schema. While extending the schema is not hard, due to the sensitive nature of the schema, you should implement a schema extension process that thoroughly tests any extensions before you put them in your production forest. Here is a suggested summary of what your schema extension process should be:

  1. Meet with clients and determine if there is a business justification for integrating their application with Active Directory.

  2. Examine the extensions and determine what impact, if any, it will have on your Active Directory environment (e.g., adding an attribute to the global catalog).

  3. Try out the extensions in a test environment. Observe any peculiarities.

  4. Document the extensions.

  5. Extend the schema in your production Active Directory.

For more information on defining a schema extension process, see Chapter 12 of Active Directory, Second Edition (O'Reilly).

10.5.3 Discussion

One thing to be cautious of when developing a schema extension process is not to make it an overly bureaucratic process that can require several weeks to complete. If that is the type of process you implement, you'll find that fewer people will want to integrate their applications with your Active Directory infrastructure. While some organizations may want to strictly limit schema extensions, there is nothing inherently bad about extending the schema and it is one of the core features and advantages over Active Directory's predecessorWindows NT 4.0.

10.5.4 See Also

Recipe 10.7 for adding a new attribute, Recipe 10.9 for adding a new class, and MS KB 283791 (How to Modify Schema Information Using the Ldifde Utility)

    Chapter 3. Domain Controllers, Global Catalogs, and FSMOs
    Chapter 6. Users
    Appendix A. Tool List