#email #powershell
#Адрес электронной почты #powershell
Вопрос:
Мне просто нужно иметь возможность обрезать это только до SMTP. Прямо сейчас я получаю список всех адресов прокси
Get-ADUser -filter 'Enabled -eq "True"' -Properties proxyaddresses,mail | Where {$_.proxyAddresses -like "SMTP*"} | select-object mail,@{n='SMTPproxyaddresses';e={($_.proxyaddresses | ? {$_ -match '^smtp'})-join'; '}} | Export-Csv -Encoding UTF8 -NoTypeInformation C:Exportallusers4.csv
Вывод в это время :
mail SMTPproxyaddresses
user1@contoso.com SMTP:userproxy@contoso.com;SMTP:user.test@contoso.com
SMTP:testproxy@contoso.com
user2@contoso.com smtp:user2@exchn.contoso.com;SMTP:user2proxy@contoso.com
user3@contoso.com SMTP:user3proxy@contoso.com
Я хочу получить результат, подобный приведенному ниже. Мне просто нужно иметь возможность обрезать это только до SMTP
SMTPproxyaddresses
userproxy@contoso.com
testproxy@contoso.com
user2proxy@contoso.com
user3proxy@contoso.com
Комментарии:
1. Только этот столбец, больше ничего?
Ответ №1:
Вам нужно использовать -cmatch, чтобы совпадение учитывало регистр. Что касается удаления первого столбца, просто исключите его из вашего выбора.
Я считаю, что что-то подобное должно сработать…
Get-ADUser -Filter 'Enabled -eq "True"' -Properties proxyaddresses |
where { $_.proxyAddresses -like "SMTP*" } |
select-object @{ n='SMTPproxyaddresses';e={ ($_.proxyaddresses | where { $_ -cmatch '^SMTP'})-join'; ' -replace 'SMTP:'} } |
Export-Csv -Encoding UTF8 -NoTypeInformation C:Exportallusers4.csv