You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Get-ADUser用whenCreated过滤无结果,用Created属性却正常?

差异原因说明

  • whenCreated是AD目录服务底层的原生LDAP属性,存储格式为UTC标准的广义时间字符串,AD PowerShell模块处理该属性的过滤时,不会自动对输入的本地时间字符串做时区转换和格式适配,你直接传入"11.05.2021 15:00:00"的本地时间字符串和AD里存储的UTC格式时间完全不匹配,因此无返回结果。
  • Created是AD PowerShell模块封装的扩展计算属性,模块会自动把底层whenCreated的UTC时间转换为本地时区的DateTime类型对象再对外暴露,过滤时你输入的时间字符串会被PowerShell自动解析为本地DateTime对象,只要时间值匹配就能正常返回结果。

如果你需要用whenCreated属性完成过滤,可参考以下两种正确写法:

  1. 先将目标时间转换为UTC时间再匹配:
$targetTime = [DateTime]"11.05.2021 15:00:00"
Get-ADUser -filter {whenCreated -eq $targetTime.ToUniversalTime()} -properties whenCreated
  1. 直接使用LDAP过滤器,传入符合要求的广义时间格式:
# 示例时间为东八区15点,对应UTC时间12点,格式为yyyyMMddHHmmss.0Z
Get-ADUser -LDAPFilter "(whenCreated=20210511120000.0Z)" -properties whenCreated

内容的提问来源于stack exchange,提问作者Purclot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 12:06:04