【问题标题】:How to find String from attribute proxyAddresses?如何从属性 proxyAddresses 中查找字符串?
【发布时间】:2015-12-18 17:54:26
【问题描述】:

如何在属性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

属性公司中的值只有两个字符:ff 或 zf 或 ju。它们总是在@ 之后的两个字符。

我在 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。

【问题讨论】:

  • 到目前为止您尝试了哪些方法,您需要帮助解决什么具体问题? SO 不是其他人为您编写代码的地方。
  • 我有一个代码 Get-ADUser -Filter * -SearchBase 'DC=ju,DC=com' -Properties company,proxyaddresses |选择公司,@{L='ProxyAddress'; E={$_.proxyaddresses -join"; "}} RESULT 是 Company 列(两个字符)和 Column proxyaddresses (有所有值)。我只需要值 SMTP:xxx@xxx
  • 请不要在 cmets 中发布代码,因为它往往变得不可读。改为编辑您的问题(这次我冒昧地为您做这件事)。

标签: active-directory powershell-4.0


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 2012-11-07
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多