Получение основного SMTP объекта пользователя из ProxyAddresses - PullRequest
0 голосов
/ 17 октября 2019

У меня есть сценарий PS, который извлекает идентификаторы сотрудников из файла CSV, который я обновляю каждое утро, которое я получаю от HR, просто чтобы убедиться, что автоматизация работает правильно, добавив / изменив их электронную почту, extensionAttribute 1 и ProxyAddresses. Я хотел бы, чтобы он проверял только основной SMTP вместо всех прокси-адресов, но у меня возникли проблемы.

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

1 Ответ

3 голосов
/ 17 октября 2019

Поле ProxyAddresses идентифицирует PrimarySMTPAddress с тегом SMTP:. Таким образом, вы можете запросить это специально и вывести его как вычисляемое свойство.

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 в переменной.

...