如何通过PowerShell重新安排代理地址和邮件

时间:2016-10-19 13:25:03

标签: email 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:\Export\allusers4.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 个答案:

答案 0 :(得分:0)

您需要使用-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:\Export\allusers4.csv