【发布时间】:2022-10-21 20:15:12
【问题描述】:
我有一个要过滤的用户和电子邮件列表。我想删除所有与定义不匹配的电子邮件。例如,我只希望列出 'user@example.com' 而未列出 'user@other.com' 或 'user@something.com'。
这是我的脚本:
Get-Mailbox -ResultSize 50 | Select-Object DisplayName, PrimarySmtpAddress, Alias | Sort-Object DisplayName | Out-GridView
如您所见,有多个列(DisplayName、PrimarySmtpAddress 和 Alias)。我想定位“PrimarySmtpAddress”并从该列中过滤。
【问题讨论】:
-
这不是您所做的事情所独有的,因为它只是对象值/字符串解析。这就是 'Where-Object' cmdlet 发挥作用或简单的 RegEx 字符串匹配的原因。这是一件很常见的事情,并且在 SO 上被问过几次。使用 SO 搜索框查找它们,以及网络上的许多示例。
-
您可以使用
Get-Mailbox提供的-Filter。Get-Mailbox -Filter "PrimarySmtpAddress -Like '*other.com' -or PrimarySmtpAddress -Like '*example.com'"
标签: powershell filtering