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

使用Where-Object过滤邮件传输规则报告失效问题求助

解决Where-Object过滤SenderAddress失效的问题

你遇到的问题核心是用错了运算符:-NotContains是用来判断集合是否包含指定元素的,而SenderAddress是单个字符串类型的属性,不是集合,所以这个过滤逻辑完全不生效,自然筛不掉包含目标域名的记录。

正确的写法需要用字符串匹配类运算符,以下两种方案都可以:

方案1:使用-notlike(通配符匹配)

Get-MailDetailTransportRuleReport -StartDate 08/25/2022 -EndDate 09/07/2022 
| Where-Object { $_.SenderAddress -notlike "*@EMAIL-DOMAIN-HERE" }
| fl Date, Subject, Direction, SenderAddress, RecipientAddress, TransportRule

*是通配符,代表任意长度的前缀,能匹配所有以@EMAIL-DOMAIN-HERE结尾的邮箱地址。

方案2:使用-notmatch(正则精确匹配)

Get-MailDetailTransportRuleReport -StartDate 08/25/2022 -EndDate 09/07/2022 
| Where-Object { $_.SenderAddress -notmatch "@EMAIL-DOMAIN-HERE$" }
| fl Date, Subject, Direction, SenderAddress, RecipientAddress, TransportRule

正则中的$表示匹配字符串结尾,能更精确地过滤掉域名后缀完全匹配的地址,避免误筛包含该域名片段的其他邮箱。

另外注意:Where-Object的简化参数语法(-Property SenderAddress -NotContains ...)只适用于集合类型的属性判断,处理字符串匹配必须用脚本块语法({})来引用属性并执行匹配逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:25:18