Redefining Classes and Attributes






Redefining Classes and Attributes

This recipe requires the Windows Server 2003 forest functional level.


Problem

You want to redefine a class or attribute that was previously created.

Solution

To redefine a class or attribute, you must first deactivate it by setting the isDefunct attribute to trUE (see Recipe 11.23 for more details). If you are deactivating a class, make sure no objects are instantiated that use the class. If you are deactivating an attribute, make sure it isn't populated on any objects and remove it from any classes that have it defined as part of mayContain and mustContain. After the class or attribute has been deactivated, you can modify (i.e., redefine) the LDAP display name (lDAPDisplayName), the OID (governsID or attributeID), the syntax (attributeSyntax and oMSyntax), and the schemaIDGUID. The one attribute that you cannot modify is the common name.

Discussion

Redefining schema objects is a new feature of Windows Server 2003. Although you still cannot delete schema objects in Windows Server 2003, you can work around many of the reasons that would cause you to want to delete a schema object by redefining it instead. Redefining schema objects comes in handy if you accidentally mistype an OID (governsID/attributeID)or lDAPDisplayName, or no longer need an attribute you previously created. You can reuse it by renaming the attribute and giving it a different syntax.

You could delete schema objects in W2K pre-SP3 but we won't get into that since it was unsupported then as well. See http://www.winnetmag.com/Articles/Index.cfm?ArticleID=27096 for more information.


See Also

Recipe 11.23 for deactivating classes and attributes



 Python   SQL   Java   php   Perl 
 game development   web development   internet   *nix   graphics   hardware 
 telecommunications   C++ 
 Flash   Active Directory   Windows