如何从属性 proxyAddresses 中查找字符串?

How to find String from attribute proxyAddresses?

如何在属性proxyAddresses中找到字符串"SMTP:*"(主要用户地址),然后保存到变量中并与属性公司中的值进行比较。如果匹配(或不匹配)则导出到 CSV 文件。

值proxyAddresses的个数不同: smtp:adam@ff.ju.com,SMTP:adam@zf.ju.com,smtp:adam@ju.com

smtp:adam@ff.ju.com,SMTP:adam@ef.ju.com

SMTP:adam@ff.ju.com

属性公司的值只有两个字符:ffzfju。它们始终是 @.

之后的两个字符

我在 Active Directory 中有大约两千个用户。

我有密码

Get-ADUser -Filter * -SearchBase 'DC=ju,DC=com' -Properties company,proxyaddresses |
  select company, @{L='ProxyAddress'; E={$_.proxyaddresses -join"; "}}

结果是一列 Company(两个字符)和一列 proxyaddresses(所有值)。我只需要值 SMTP:xxx@xxx.

Select 以大写开头的 proxyaddresses 元素 SMTP::

@{n='ProxyAddress';e={$_.proxyaddresses | Where-Object {$_ -clike 'SMTP:*'} | Select-Object -First 1}}

运算符 -clike 进行区分大小写的比较。