前几天论坛上有一个网关问:“
exchange2010如果设置了抄送人怎么批量导出”,我理解的意思是是否可以导出exchange 2010 中所有已设定传递选项的转发到指定邮箱的用户及对应转发的邮件地址?这个转发指定邮箱的设置如下图:
我的回复的是使用以下命令:
Get-Mailbox | where {$_.ForwardingAddress –ne $NULL –or $_.ForwardingSmtpAddress –ne $NULL} | ft Name, ForwardingAddress, ForwardingSmtpAddress
后来,我测试这个命令后发现一个问题,如果您在EMC里面设置这个转发的话,通过点击Browse我们其实是指定一个域内用户账号的比如test2,命令得到的ForwardingAddress下只会显示test2的Identity而不是SMTP address。若您是通过Set-Mailbox -ForwardingSmtpAddress
test2@domain.com设置转发的话,才会在ForwardingSmtpAddress下直接显示转发的目标地址。所以如果要导出SMTP地址的话,需要导出成表后,比如CSV,自己做一些修改。
我咨询过微软,他们也没有办法得出来整合的命令。只给出来下面的建议:
因此,这里若您希望得出test2的SMTP地址的话,我们可能需要做一个二次查询。
我做了好久的测试也没能得到最佳的效果。这里只能提供您一个workaround供参考。
第一步还是运行上次给的命令从而可以列出已设置了转发的用户邮箱:
Get-Mailbox | where {$_.ForwardingAddress –ne $NULL –or $_.ForwardingSmtpAddress –ne $NULL} | ft Name, ForwardingAddress, ForwardingSmtpAddress
第二步为了获得ForwardingAddress列用户的SMTP地址,我们可以先将上述结果导出至csv文件:
Get-Mailbox | where {$_.ForwardingAddress –ne $NULL –or $_.ForwardingSmtpAddress –ne $NULL} | select ForwardingAddress | Export-Csv c:\test.csv
第三步通过csv文件分别列出SMTP地址:
Import-Csv c:\test.csv | foreach {Get-Mailbox -Identity $_.ForwardingAddress | Select Identity, PrimarySmtpAddress}
上述命令的结果大致为:
Identity PrimarySmtpAddress
----------- -------------------------
请问如何批量修改转发,比如我有2个域名,现在只想用其中一个域名,但是另外一个域名的邮件也要收。