需要导出我们 Exchange 2007 组织中的所有 SMTP 电子邮件地址(包括邮箱、发行版列表、辅助 SMTP 等)

需要导出我们 Exchange 2007 组织中的所有 SMTP 电子邮件地址(包括邮箱、发行版列表、辅助 SMTP 等)

我需要将我的 Exchange 组织的所有 SMTP 地址导出到 CSV 文件。这包括邮箱、分发列表、联系人和公共文件夹 SMTP 地址。

我必须包括与上述相关的所有 smtp 地址...而不仅仅是主要地址。

我已经找到了如何在某种程度上导出邮箱的方法,但是如果用户有第 2 个或第 3 个 SMTP 地址,它通常不会包含它们。

但是我还没有找到任何可以从已启用邮件的分发列表、联系人和公共文件夹中导出 SMTP 地址的东西。

我不需要 CC Mail 等,只需要 SMTP 地址本身。我试图获取所有“允许的 SMTP 地址”列表,以进行入站垃圾邮件过滤。

请帮忙...我快要疯了想弄清楚这一点。

答案1

在 Exchange 命令行管理程序中,运行以下命令:

get-mailbox | %{$_.EmailAddresses} | %{$_.SmtpAddress} | out-file c:\mailboxes.csv
get-distributiongroup | %{$_.EmailAddresses} | %{$_.SmtpAddress} | out-file c:\distributiongroups.csv
get-contact | %{$_.WindowsEmailAddress} | %{$_.Local + "@" + $_.Domain} | out-file c:\contacts.csv
get-mailpublicfolder | %{$_.EmailAddresses} | %{$_.SmtpAddress} | out-file c:\mailpublicfolders.csv

答案2

csvde -d "DC=solid,DC=local" -f adusers.csv -l "显示名称,邮件,邮件昵称,代理地址"

对我有用!

答案3

您应该从 AD 而不是 Exchange 执行此操作。您可以执行 GUI 查询,可以使用 powershell 或 dsquery/dsget 或 csvde/ldfide 来转储 AD 中的所有内容或仅转储包含地址的属性。除非您想花时间编写一个完美执行此操作的脚本,否则最好将所有内容转储到文件中并搜索“@”,然后对列表进行排序/重复数据删除。除非您经常这样做,否则我会采用转储所有内容并过滤输出文件的简单方法。

答案4

以下是获取邮箱主 SMTP 地址和辅助 SMTP 地址列表的另一种方法:

Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,PrimarySmtpAddress, @{Name="EmailAddresses";Expression={$_.EmailAddresses |Where-Object {$_.PrefixString -ceq "smtp"} | ForEach-Object {$_.SmtpAddress}}}

摘自:https://www.sysadmit.com/2018/04/exchange-exportar-direcciones-smtp.html

相关内容