【问题标题】:Pulling User Object's Primary SMTP from ProxyAddresses从 ProxyAddresses 中提取用户对象的主 SMTP
【发布时间】:2019-10-17 22:48:53
【问题描述】:

我有一个 PS 脚本,它从我每天早上从 HR 那里获得的 CSV 文件中提取员工 ID,只是为了通过添加/更改他们的电子邮件、extensionAttribute 1 和 ProxyAddresses 来确保自动化正常运行。我希望它只检查主 SMTP 而不是所有 ProxyAddresses,但我遇到了问题。

Import-Csv "C:\temp\HRfeed101519.csv" | foreach {Get-ADUser $_.EmpID -Properties * | fL mail, extensionattribute1, Proxyaddresses}

【问题讨论】:

  • 请,请不要使用-Properties *,仅查询需要的内容。

标签: powershell active-directory


【解决方案1】:

ProxyAddresses 字段用SMTP: 标签标识PrimarySMTPAddress。因此,您可以专门查询它并将其作为计算属性输出。

Get-ADUser $_.EmpID -prop ProxyAddresses,Mail,ExtensionAttribute1 |
    Select-Object Mail,ExtensionAttribute1,ProxyAddresses,
    @{Name='PrimarySMTPAddress';Expression={$_.ProxyAddresses -cmatch '^SMTP:' -creplace 'SMTP:'}}

-cmatch-creplace 执行区分大小写正则表达式匹配。


注意:由于ProxyAddresses 中存储的集合大小,输出的默认表格显示可能不会显示所有属性和值。您可以通过管道将您的输出传送到 Format-List 以查看所有属性,但不要将 Format-List 输出存储在变量中。

【讨论】:

  • @robdy,谢谢。我为这种情况添加了注释。
  • @Bill_Stewart 我将完整的键名添加到哈希表中。
猜你喜欢
  • 1970-01-01
  • 2022-01-12
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
  • 2011-07-17
  • 1970-01-01
相关资源
最近更新 更多