如何从 Exchange 2003 导出所有电子邮件地址?

如何从 Exchange 2003 导出所有电子邮件地址?

我正在尝试收集一份清单所有电子邮件地址我们的 Exchange 2003 系统正在使用,其中不仅包括普通用户地址,而且通讯组别名我还需要如下格式的输出:[电子邮件保护]- 虽然我们只有一个域名,所以即使我可以获得用户部分,这样就可以了。

我并不关心这里的帐户关联,我真的只需要一个地址列表。

我该如何从 Exchange 2003 中导出所有 smtp 电子邮件地址,包括通讯组和别名地址[电子邮件保护]格式?

我更希望可以通过命令行来完成某些操作,以便可以通过脚本生成它,但如果有办法手动执行此操作(阅读:指向并单击),它也会同样有用。

有什么想法吗?我在系统管理器中没有看到任何可以执行此操作的东西,而且我的搜索也没有找到任何可以满足上述所有要求的东西。

解决了

这就是我使用已接受答案的方式:

@echo off

ldifde -f c:\temp\ldifde-dump.txt -l proxyaddresses
find "@" < c:\temp\ldifde-dump.txt > c:\temp\email-addresses.txt
del c:\temp\ldifde-dump.txt

这将生成 c:\temp\email-addresses.txt,尽管它包含一些额外的垃圾字符,但可以通过在 Notepad++ 中搜索和替换轻松地将其解析出来。

答案1

如果您只需要主要电子邮件地址,则可以在 Exchange 服务器上运行此命令,并填写域和 com 值:

csvde -r "(mail=*)" -d "dc=domain,dc=com" -l mail -f c:\gal.csv

要获取辅助电子邮件地址,有点棘手。您可以使用它来生成文件:

ldifde -f dump.ldf -l proxyaddresses

找到了一种从 LDF 文件中提取电子邮件地址的方法:http://bytes.com/topic/unix/answers/648158-extract-email-addresses-big-file

如果您可以在 Windows 中访问 perl,请创建一个包含以下内容的 perl 文件:

while (<STDIN>) { 
while (/[\w\.\-]+@[\w\.\-]+\w+/g) 
    {print "$&\n"}} 

然后运行此命令:

perl ExtractEmail.pl <dump.ldf >out.txt

Out.txt 应该包含您的所有电子邮件地址。

答案2

Adfind.exe 使用以下命令:AdFind.exe -default -nodn -nolabel -noctl proxyAddressess

删去所有 SMTP: 或 smtp: 地址。

http://www.joeware.net/freetools/tools/adfind/index.htm

相关内容