最近因为疫情关系,部分同事在家办公而改用 Webmail,因此需要将 LDAP 通讯录导出成 csv 文件,再导入到邮件系统中。上网查了一下,幸好这次的操作不难 (印象以前使用 AD 的指令都很复杂),只需通过内建 csvde 这个专门处理 csv 的指令即可达成。
【需求】
◎ 針對 displayName、mail 有值的物件匯出。
◎ 匯出 displayName、mail 欄位 (屬性)。
csvde -r "(&(mail=*)(displayName=*)" -l displayName,mail -u -f adds.csv # -r 針對屬性做篩選。 # -l 要匯出的欄位。 # -u 以 Unicode 格式匯出。 # -f 匯出成 csv 檔。
實際匯出後,會有少部份非預期的資料,可針對結果再加上篩選參數。以我來說,有部份資料是我當初設來做分隔使用的,這些物件的 mail 屬性我設為 null 或 No-Mail-Group,因此便可以下面指令來排除:
csvde -r "(&(mail=*)(displayName=*)(!mail=null)(!mail=No-Mail-Group))" -l displayName,mail -u -f adds.csv
【参考资料】
- 如何导出AD登录账号以及邮箱账号 – iT 邦帮忙::一起帮忙解决难题,拯救 IT 人的一天
- Csvde | Microsoft 文档








留下回复