Найти дату / время последнего обновления адреса электронной почты в Active Directory

Когда наши пользователи меняют свой пароль в AD LDS через специальное приложение C#, мы также разрешаем им обновить свой адрес электронной почты. Есть ли способ определить дату / время обновления адреса электронной почты? Или нам просто нужно использовать значение LastPasswordSet? Нам нужно сравнить его с электронной почтой в нашей системе AS/400 и синхронизировать ее на основе того, какой адрес является самым последним.

2 ответа

Метаданные атрибута сообщат вам, когда атрибут был изменен ( https://docs.microsoft.com/en-us/dotnet/api/system.directoryservices.activedirectory.attributemetadata?redirectedfrom=MSDN&view=netframework-4.7.2).

Я не знаю ни одного способа фильтрации метаданных, но я обычно фильтрую метку времени whenChanged (или метку времени, обновленную паролем в вашем случае), чтобы получить набор потенциальных изменений и отфильтровать нерелевантные объекты, используя метаданные для атрибута I'm. отслеживание.

// Grab all accounts updated since last batch cycle
// For each user, check LastOriginatingChangeTime of interesting attribute
// If LastOriginatingChangeTime >= last cycle, check value in target system
// If value in target system != value in AD, update target system with value from AD

Вы можете получить всю историю изменений аккаунта, просмотрев Windows Security Log Event ID 642 из активного каталога Windows Server.
( ссылка)

Другие вопросы по тегам