Active-Directory
如何從 Exchange 2003 中導出所有電子郵件地址?
我正在嘗試收集 Exchange 2003 系統正在使用的所有電子郵件地址的列表,其中不僅包括普通使用者地址,還包括通訊組和別名。我還需要格式如下的輸出:user@domain.com - 雖然我們只有一個域,所以即使我可以獲得使用者部分,也可以。
我不關心這裡的帳戶關聯,我真的只需要一個地址列表。
如何從 Exchange 2003 導出所有 smtp 電子郵件地址,包括user@domain.com格式的通訊組和別名地址?
我更喜歡可以通過命令行完成的事情,以便它可以由腳本生成,但如果有一種手動執行此操作的方法(閱讀:指向和點擊),它也會同樣有用。
有任何想法嗎?我在 System Manager 中看不到任何可以做到這一點的東西,而且我的搜尋也沒有找到任何可以滿足上述所有要求的東西。
解決了
這就是我使用公認答案的方式:
@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++ 中的搜尋和替換輕鬆解析出來。
如果您只需要主電子郵件地址,您可以在您的 Exchange 伺服器上執行它,填寫 domain 和 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 應該包含您所有的電子郵件地址。