Mise à jour du cache de schéma
Toutes les informations écrites sur un serveur Active Directory sont validées par rapport au schéma. Le schéma est conservé en mémoire sur les serveurs d’annuaire (contrôleurs de domaine) pour des raisons de performances. La version en mémoire est mise à jour automatiquement après la mise à jour de la version sur disque. La mise à jour automatique se produit cinq minutes après l’application de la dernière modification ; L’application d’une autre modification au schéma dans la fenêtre de 5 minutes réinitialise le minuteur pendant 5 minutes supplémentaires. Ce comportement maintient la cohérence du cache, mais peut prêter à confusion, car les modifications n’apparaissent pas dans le schéma tant que le cache n’a pas été mis à jour, même si elles ont été appliquées sur le disque.
Pour mettre à jour le cache de schéma Active Directory après une mise à jour de schéma, ou si vous souhaitez utiliser immédiatement la mise à jour de schéma pour les opérations sans schéma, ajoutez l’attribut schemaUpdateNow (il s’agit d’un attribut opérationnel) à l’environnement DSE racine (DN vide) avec la valeur 1. Une mise à jour du cache de schéma démarre immédiatement. L’appel est bloqué. Si l’appel est retourné sans erreur, le cache est mis à jour et toutes les mises à jour de schéma sont prêtes à être utilisées. Un retour d’erreur indique que la mise à jour du cache a échoué. Les applications qui doivent utiliser cette fonctionnalité doivent être conçues pour prendre en charge l’écriture bloquante, en particulier en donnant des commentaires à l’utilisateur, si le programme ou le script s’exécute de manière interactive.
L’exemple de code suivant est un exemple de script LDIFDE qui montre comment déclencher un rechargement du cache.
dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-
Pour plus d’informations sur la mise à jour du cache de schéma par programmation, consultez Exemple de code pour la mise à jour du cache de schéma.