如何从属性proxyAddresses中查找String?

时间:2015-12-17 10:16:47

标签: active-directory powershell-v4.0

如何在attributte 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

attributte公司的值只有两个字符: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

1 个答案:

答案 0 :(得分:1)

选择以大写proxyaddresses开头的SMTP:元素:

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

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