在Active Directory中查找电子邮件地址的最新更新日期/时间

时间:2018-10-05 20:04:19

标签: c# .net active-directory ldap adlds

当我们的用户通过自定义C#应用程序更改AD LDS中的密码时,我们还允许他们更新其电子邮件地址。有没有办法检测电子邮件地址的更新日期/时间?还是只需要使用LastPasswordSet值?我们需要将其与AS / 400中的电子邮件进行比较,并根据最近的地址对其进行同步。

2 个答案:

答案 0 :(得分:0)

通过从活动目录Windows服务器中观看Windows Security Log Event ID 642,可以获得有关帐户更改的所有历史记录。
ref

答案 1 :(得分:0)

属性元数据将告诉您何时更改属性(https://docs.microsoft.com/en-us/dotnet/api/system.directoryservices.activedirectory.attributemetadata?redirectedfrom=MSDN&view=netframework-4.7.2)。

我不知道对元数据进行过滤的任何方法,但是我会定期对whenChanged时间戳(或您的情况下为密码更新的时间戳)进行过滤,以获得一组潜力< / em>更改并使用我正在跟踪的属性的元数据过滤掉不相关的对象。

// 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