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

PowerShell用whenCreated过滤Get-ADUser为何返回指定AD组外用户

问题根因
  • 异常是Get-ADUser的参数绑定规则导致的:当你显式传入-Filter参数时,该cmdlet会直接忽略管道输入的成员标识,全域执行过滤逻辑,因此返回了所有符合创建时间要求的域用户,而非仅筛选目标组内的成员。
修复后的代码

直接将过滤逻辑后置,用Where-Object针对组内返回的用户做二次筛选即可,同时优化了属性拉取逻辑,避免拉取无用的全量属性提升执行效率:

Get-ADGroupMember -Identity $groupname | 
    Get-ADUser -Properties whenCreated,UserPrincipalName -ErrorAction Ignore | 
    Where-Object { $_.whenCreated -ge $when } |
    Select-Object @{N='UserName';E={$_.UserPrincipalName}} |
    Export-Csv $filename -NoTypeInformation
补充说明
  • 如果目标AD组的成员规模极大(上万级别),也可以先构造包含组内用户DN的过滤语句传递给Get-ADUser,进一步降低域控制器查询压力,日常使用上述代码已经足够满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:27:02