Powershell - 使用Where-object,查找带数字的字符串(电子邮件地址)

问题描述:

我们使用的是Office 365,并且遇到了创建重复帐户的问题。这会导致用户地址的数字增加([email protected]也将是[email protected]和完全独立的用户)。Powershell - 使用Where-object,查找带数字的字符串(电子邮件地址)

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

我已经江郎才尽了,这样我已经添加是最好的,我可以了搜索与地址数的proxyaddress。

我相信如果我们不使用带有数字的域(注意C0mpany中的0,而是增加4个数字,所以我不能使用{4}来指示它可以只有4个数字,我们正在寻找)。

任何帮助将非常感激。谢谢!

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

试试这个:

Get-MsolUser -All | where {$_.proxyaddresses -match "smtp:.+\[email protected]\.onmicrosoft\.com"} | select userprincipalname, proxyaddresses,displayname 

而看

Get-Help about_Regular_Expressions 
Get-Help about_Wildcards 
+0

你是男人,谢谢!今天是我第一次碰到这个,并且你钉了它。我会给你一个+1,但是我的名声太低了: -/ – Zach

+1

如果这解决了你的问题,你可以把它标记为答案,所以这个问题不会永远悬而未决,因为“永远不会回答”? – mjolinor

+0

感谢您的领导,完成 – Zach