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

如何使用Get-AzADUser按Mail字段的域名过滤Azure AD用户?

解决Azure AD筛选特定域名邮箱用户的高效方法

正确使用OData endsWith 筛选(推荐)

你之前的命令问题在于缺少邮箱域名前的@符号,Azure AD的Mail字段格式是user@domain.com,所以需要匹配@somedomain.com而非仅somedomain.com。同时确保你的Az模块是最新版本(旧版本可能不支持OData v4的endsWith函数),执行以下命令:

Get-AzADUser -Filter "endsWith(Mail, '@somedomain.com')"

如果更新模块后仍提示endsWith不支持,可以尝试使用OData的contains函数(注意:该方法可能匹配到包含目标域名的非预期邮箱,比如user@sub.somedomain.com,需根据实际场景判断):

Get-AzADUser -Filter "Mail ne null and contains(Mail, '@somedomain.com')"

备选方案:使用AzureAD模块(若Az模块受限)

如果你无法更新Az模块,可使用AzureAD模块的Get-AzureADUser命令,它同样支持服务端筛选:

Get-AzureADUser -Filter "endsWith(Mail, '@somedomain.com')"

为什么要避免管道Where-Object

直接用Get-AzADUser | Where-Object {$_.Mail -like "*@somedomain.com"}会先拉取所有用户数据到本地再过滤,当用户量较大时,不仅耗时久还会占用大量网络带宽,服务端筛选(通过-Filter)则是在Azure AD侧完成过滤,仅返回符合条件的结果,效率提升明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:07:07