LDAPSEARCH 转换为表格格式

jor*_*rto 7 ldap openldap ldap-query

有没有办法执行 LDAP 搜索并将结果保存为表格格式(例如 csv)?

干杯豪尔赫

Rob*_*bAu 9

您可以使用优秀的铣床工具 ( mlr)

最后一点:

echo output | sed 's/://g'  | mlr --x2c cat then unsparsify
Run Code Online (Sandbox Code Playgroud)

怎么运行的:

  • sed 将输出转换为XTAB格式
  • --x2c转换XTABCSV
  • cat然后unsparsify确保缺失的值被填充,而不是破坏到不同的 csv 输出

总命令:

ldapsearch -H ldap://<hostname>:389 -D "<bindDN>" -W -b "<base>" '<query>' -oldif-wrap=no -LLL cn mail telephoneNumber | sed 's/://g'  | mlr --x2c cat then unsparsify
Run Code Online (Sandbox Code Playgroud)


jor*_*rto 6

以防万一其他人必须这样做:

基于 Filter ldapsearch with awk/bash中提供的答案

这会将 LDAP 信息输出为 csv 格式:

$ ldapsearch -x -D "cn=something" | awk -v OFS=',' '{split($0,a,": ")} /^mail:/{mail=a[2]} /^uidNumber:/{uidNumber=a[2]} /^uid:/{uid=a[2]} /^cn/{cn=a[2]; print uid, uidNumber,cn , mail}' > ldap_dump.csv
Run Code Online (Sandbox Code Playgroud)

注意 您需要注意使用 awk 解析 LDAP 数据的顺序!它需要按照 LDAP 数据中出现的顺序进行解析!