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. Das automatische Update erfolgt fünf Minuten nach anwendung der letzten Änderung. Durch 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 aber verwirrend sein, da Änderungen erst nach der Aktualisierung des Caches im Schema angezeigt werden, obwohl sie auf den Datenträger angewendet wurden.

Um den Active Directory-Schemacache nach einem Schemaupdate zu aktualisieren, oder wenn Sie das Schemaupdate sofort für Nichtschemavorgänge verwenden möchten, fügen Sie das schemaUpdateNow-Attribut (es ist ein Betriebsattribut) dem Stamm-DSE (leerer DN) mit dem Wert 1 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. Eine Fehlerrückgabe gibt an, dass das Cacheupdate nicht erfolgreich war. Anwendungen, die dieses Feature verwenden müssen, sollten so konzipiert sein, 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 eines Caches ausgelöst wird.

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

Weitere Informationen zum programmgesteuerten Aktualisieren des Schemacaches finden Sie unter Beispielcode zum Aktualisieren des Schemacaches.