我只需要能够将其减少到只有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
答案 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