Powershell - 使用Where-object,查找带有数字

时间:2017-09-26 18:36:39

标签: powershell office365 where

我们正在使用Office 365,并遇到了创建重复帐户的问题。这会导致用户地址的数字增加(john.doe@c0mpany.onmicrosoft.com也将是john.doe5826@c0mpany.onmicrosoft.com和完全独立的用户)。

Get-MsolUser -All | where {$_.proxyaddresses -like "smtp:*'$(\d)'@C0mpanyName.onmicrosoft.com"} | select userprincipalname, proxyaddresses,displayname

我已经没有想法了,我添加的这个示例是我能够在地址中搜索带有数字的代理地址的最佳选择。

我相信如果我们没有使用带有数字的域,这会有用(请注意C0mpany中的0,但是添加4个数字,所以我不能使用{4}来指示它只能是我们正在搜索的4个数字)。

任何帮助都会非常感激。谢谢!

1 个答案:

答案 0 :(得分:3)

您正在混合通配符和正则表达式匹配。

试试这个:

Get-MsolUser -All | where {$_.proxyaddresses -match "smtp:.+\d@C0mpanyName\.onmicrosoft\.com"} | select userprincipalname, proxyaddresses,displayname

见:

Get-Help about_Regular_Expressions
Get-Help about_Wildcards