查询上次创建时间为 24 小时的自定义 LDAP 过滤



我想使用 LDAP 查询返回过去 24 小时内创建的具有以下属性的所有用户对象。

到目前为止,我有如下。

(&(objectCategory=person)(objectClass=user))

属性:

samaccountname (username)
givenName (first name)
sn (last name)
mail (mail addresses)

谢谢

您需要一些代码来生成"24 小时前"(或您想要的任何增量时间(的字符串。日期时间字符串格式需要为 YYYYMMDDHHmmss.0Z -- 时间戳为 UTC。

以下过滤器查找自昨天上午 11 点 UTC 以来创建的所有 Active Directory 用户:

(&(objectCategory=person)(objectClass=user)(whenCreated>=20200617110000.0Z))

如果要查找在上一个时间增量中更改的帐户,请将"创建时间"更改为"更改时间">

这是我对这个问题的Powershell回答。不是 LDAP 过滤器,但它会获取您想要的信息。

$1DayAgo = ((Get-Date).AddDays(-1)).Date
$UserProperties = "samaccountname", "givenName", "sn", "mail"
Get-ADUser -Filter {whenCreated -ge $1DayAgo} -Properties $UserProperties

使用日期时间格式与whenCreated进行比较yyyyMMddHHmmss.fZ

$since = (Get-Date).AddDays(-1).ToUniversalTime().ToString('yyyyMMddHHmmss.fZ')
Get-ADUser -LDAPFilter "(whenCreated>=$since)"

最新更新