10.22. Reloading the Schema Cache
Problem
You want to reload the schema cache so that schema extensions take effect immediately.
Solution
Using a graphical user interface
Open the Active Directory Schema snap-in.
In the left pane, click on Active Directory Schema.
Right-click on the label and select Reload the Schema.
Using a command-line interface
You can reload the schema by using the ldifde
utility and an LDIF file that contains the following:
dn: changetype: modify add: schemaUpdateNow schemaUpdateNow: 1 -
If the LDIF file were named reload.ldf
, you would
run the following command:
> ldifde -v -i -f reload.ldf
Using VBScript
set objRootDSE = GetObject("LDAP://dc1/RootDSE") objRootDSE.Put "schemaUpdateNow", 1 objRootDSE.SetInfo WScript.Echo "Schema reloaded"
Discussion
Each domain controller maintains a complete copy of the schema in
memory to make access to the schema very fast. This is called the
schema cache. When you extend the schema on the Schema FSMO role
owner, the change is written to the schema cache, and not committed
to disk yet. The schema automatically commits any changes to the
schema every five minutes if a change has taken place, but you can
also do it manually/programmatically by writing to the
schemaUpdateNow
operational attribute of the
RootDSE on the Schema FSMO role owner. Once that is done, any changes
to the schema cache are written to disk.
It is necessary to force a schema cache update if your schema extensions reference newly created attributes or classes. For example, ...
Get Active Directory Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.