LDAP过滤器:仅从给定日期开始更新用户

时间:2018-04-25 18:48:31

标签: php active-directory

我在设置Active Directory过滤器以同步包含所有用户的MySQL数据库时遇到问题。而且我无法创建仅检索更新日期大于给定日期的用户的过滤器。

我尝试在我的过滤器上使用uSNChanged属性,但它返回0结果。

感谢所有

欢迎任何建议

1 个答案:

答案 0 :(得分:1)

您将按whenChanged属性进行搜索。像这样:

(&(whenChanged>=20180425150000.0-0400)(objectClass=user)(objectCategory=person))

格式很简单:

{year}{month}{date}{hour}{minute}{seconds}.{milliseconds}-{timezone}

例如,在我上面的例子中,我今天在东部时间下午3点使用了日期。

要记住一些警告:

  1. whenChanged属性在每个域控制器上都不完全相同,但它们将在一个半小时内关闭。原因是复制 - 时间设置为每个DC收到更改的时间。
  2. 当用户登录时,lastLogon时间会更新,并触发whenChanged属性进行更新。因为whenChanged发生了变化,所以并不意味着有人修改了帐户。这也意味着此搜索将返回比您预期更多的帐户。