From Notes
#!/bin/bash
#
# Author: Josh Miller
# Date: 06/30/2006
# Purpose: To use ldap-update to update an OpenLDAP DIT, replacing an attribute with a value.
#
# Inputs: -i : Filename which contains a single list of DNs.
# -a : attribute to change
# -p : path to ldap-update script
# -t : value to change attribute to
#
# Dependencies:
# ldap-update
# inputs: -d "<distinguishedName>" -a <attribute> -t <value>
#
# Tested:
# OpenLDAP v. 2.3.24
#
usage () {
echo
echo -e "$0 -i <input filename> -p <ldap-update script path> -a <attribute> -t <value>"
echo
exit 1
}
if [[ $# -lt 8 || $# -gt 8 ]]
then
usage
fi
while getopts a:i:p:t: input
do
case $input in
a) ATTRIBUTE="$OPTARG"
;;
i) FILE="$OPTARG"
;;
p) SCRIPT="$OPTARG"
;;
t) VALUE="$OPTARG"
;;
esac
done
COUNT=$(wc -l $FILE | awk '{print $1}')
let COUNT=($COUNT + 1)
for (( i=1 ; i < $COUNT ; i+=1 ))
do
DN=$(head -n $i $FILE | tail -n 1)
$SCRIPT -d "$DN" -a "$ATTRIBUTE" -t "$VALUE"
done
exit 0