最近因为疫情关系,部分同事在家办公而改用 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 文档








留下回复