2010-10-06 8 views
1

J'ai cette application qui boucles à travers mon AD et je voudrais qu'il me notifier sur les changements. IE si quelqu'un a changé son adresse e-mail, un utilisateur a été ajouté et ainsi de suite. Je pensais à l'objet Checksum DirectoryEntry qui obtient l'objet AD racine avec tous ses enfants mais je ne peux pas envelopper ma tête autour d'elle.Comment détecter les modifications dans un objet?

DirectoryEntry entry = 
    new DirectoryEntry("LDAP://" + domain, username, password); 

l'application im est prise un service Windows qui vérifie AD toutes les heures pour les changements, sizeof est un Nogo que Microsoft me Do not veulent connaître la taille de cet objet géré. Aucune suggestion?

Répondre

2

HashCode? remplacer la propriété Object.GetHashCode?

+0

Bien que cela ne garantisse pas la capture de TOUTES les modifications, lorsque le hachage est différent, vous pouvez garantir que l'enregistrement AD a changé. – Keith

+0

True, dépend de la façon dont le hashcode est généré dans cette classe ... –

1

Vous pouvez regarder dans la classe DirectorySynchronization. Lors de la recherche dans l'ANNONCE en utilisant DirectorySearcher avec le jeu de propriétés DirectorySearcher.DirectorySynchronization, un cookie est généré que vous pouvez enregistrer dans un fichier ou une base de données. L'utilisation de ce cookie en suivant des recherches similaires garantit que seuls les objets qui ont été modifiés entre deux recherches sont renvoyés par DirectorySearcher. IIRC vous dira même quelles propriétés ont changé.