#!/bin/bash OU="ou=users" OUTPUT_FILE="/tmp/import_users.ldif" read -p "Domain DN yang akan digunakan (Contoh: dc=domain,dc=co,dc=id): " DOMAIN_DN read -p "Tentukan password default untuk user-user di OpenLDAP: " DEFAULT_PW rm -rf $OUTPUT_FILE echo "Memproses data user dari Zimbra..." for account in $(su - zimbra -c 'zmprov -l gaa' | grep -E -v "^(spam\.|ham\.|virus-|galsync)") do raw_data=$(su - zimbra -c "zmprov ga $account givenName sn displayName") givenName=$(echo "$raw_data" | grep "^givenName:" | cut -d: -f2- | xargs) sn=$(echo "$raw_data" | grep "^sn:" | cut -d: -f2- | xargs) cn=$(echo "$raw_data" | grep "^displayName:" | cut -d: -f2- | xargs) uid=$(echo "$account" | cut -d@ -f1) [ -z "$sn" ] && sn=$uid [ -z "$givenName" ] && givenName=$uid [ -z "$cn" ] && cn=$uid echo "dn: uid=$uid,$OU,$DOMAIN_DN" >> $OUTPUT_FILE echo "objectClass: inetOrgPerson" >> $OUTPUT_FILE echo "uid: $uid" >> $OUTPUT_FILE echo "mail: $account" >> $OUTPUT_FILE echo "givenName: $givenName" >> $OUTPUT_FILE echo "sn: $sn" >> $OUTPUT_FILE echo "cn: $cn" >> $OUTPUT_FILE echo "userPassword: $DEFAULT_PW" >> $OUTPUT_FILE echo "" >> $OUTPUT_FILE done echo "Selesai! File LDIF tersimpan di: $OUTPUT_FILE"