Aktualisieren des Schemacaches

Alle Informationen, die auf einen Active Directory-Server geschrieben werden, werden anhand des Schemas überprüft. Das Schema wird aus Leistungsgründen auf Verzeichnisservern (Domänencontrollern) im Arbeitsspeicher gespeichert. Die In-Memory-Version wird automatisch aktualisiert, nachdem die Version auf dem Datenträger aktualisiert wurde. Die automatische Aktualisierung erfolgt fünf Minuten nach dem Anwenden der letzten Änderung. Durch das Anwenden einer weiteren Änderung am Schema im 5-Minuten-Fenster wird der Timer für weitere 5 Minuten zurückgesetzt. Dieses Verhalten hält den Cache konsistent, kann jedoch verwirrend sein, da Änderungen erst im Schema angezeigt werden, wenn der Cache aktualisiert wurde, obwohl sie auf den Datenträger angewendet wurden.

Um den Active Directory-Schemacache nach einer Schemaaktualisierung zu aktualisieren, oder wenn Sie das Schemaupdate sofort für Nicht-Schemavorgänge verwenden möchten, fügen Sie dem Stamm-DSE (leeres DN) mit dem Wert 1 das schemaUpdateNow-Attribut (es handelt sich um ein operatives Attribut) hinzu. Ein Schemacacheupdate wird sofort gestartet. Der Aufruf wird blockiert. Wenn der Aufruf ohne Fehler zurückgegeben wird, wird der Cache aktualisiert, und alle Schemaupdates können verwendet werden. Ein Fehler gibt an, dass die Cacheaktualisierung nicht erfolgreich war. Anwendungen, die dieses Feature verwenden müssen, sollten so konzipiert werden, dass sie den blockierenden Schreibvorgang berücksichtigen, insbesondere wenn sie dem Benutzer Feedback geben, wenn das Programm oder Skript interaktiv ausgeführt wird.

Das folgende Codebeispiel ist ein LDIFDE-Beispielskript, das zeigt, wie ein Erneutes Laden des Caches ausgelöst wird.

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

Weitere Informationen zum programmgesteuerten Aktualisieren des Schemacaches finden Sie unter Beispielcode für das Aktualisieren des Schemacaches.