powershell - 使用过滤器查找与域匹配的电子邮件地址
问题描述
我正在尝试使用 PowerShell 在 O365 Exchange 中查找与特定域匹配的电子邮件地址。
如果我使用:
Get-Recipient -ResultSize unlimited -filter '(PrimarySMTPAddress -like "*smith*")' | fl primarysmtpaddress
我得到了所有有字符串的地址
如果我使用:
Get-Recipient -ResultSize unlimited -filter '(PrimarySMTPAddress -like "*@domain*")' | fl primarysmtpaddress
我没有得到任何结果。
@ 之后似乎没有任何匹配项。
我想使用-filter
而不是 where 语句,因为它要快得多。
解决方案
我能够重现您的问题。它似乎与您过滤的特定属性“PrimarySMTPAddress”有关。
我能够通过将过滤器语句更改为利用“EmailAddresses”(电子邮件地址存储在其中的另一个属性)来获取过滤器语句以返回结果:
Get-Recipient -ResultSize unlimited -filter '(EmailAddresses -like "*@domain*")' | fl primarysmtpaddress
我看到的其他一些注意事项:“可过滤属性”文档提到避免使用“PrimarySMTPAddress”是我不知道的另一个原因:
不要使用 PrimarySmtpAddress 属性;请改用 EmailAddresses 属性。任何使用 PrimarySmtpAddress 属性的过滤器也将搜索 EmailAddresses 属性中的值。例如,如果邮箱具有主电子邮件地址 dario@contoso.com,以及其他代理地址 dario2@contoso.com 和 dario3@contoso.com,则以下所有筛选器都将在结果中返回该邮箱:“PrimarySmtpAddress - eq 'dario@contoso.com'”、“PrimarySmtpAddress -eq 'dario2@contoso.com'”或“PrimarySmtpAddress -eq 'dario3@contoso.com'”。
来源 https://docs.microsoft.com/en-us/powershell/exchange/filter-properties?view=exchange-ps
推荐阅读
- symfony - 删除时未定义的索引“用户”
- xcode - Xcode IDE 未使用运行脚本在目录中显示下载文件
- push-notification - 浏览器关闭时如何发送推送通知
- c# - 在本地函数堆栈中声明的值类型变量是否已分配?
- angular - 如何删除 ng2-smart-table 中的一行
- angular - 有没有办法在角度早期执行特定服务?
- ruby-on-rails - Rspec 核心的 config.swagger_root 的未定义方法
- java - TextView 在某些设备上动画后消失
- objective-c - 如何修复 xcode10 中的“多个命令产生”错误?
- r - 我不知道如何绘制 R 中某些代码结果的概率分布