#!/bin/bash

#create secure connection
export LDAPCONF=/etc/opt/novell/xad/openldap/ldap.conf 
#EDIRCERT=/etc/opt/novell/certs/SSCert.der

#object to add uniquedomainid
echo -n "Enter Object to add uniquedomainid (e.g. Administrator): "
read OBJECT
echo "creating ldif for $OBJECT"

LOCATION=/tmp
#location to store the ldif
#echo -n "Enter the location for the ldif file (e.g. /tmp): "
#read LOCATION
#echo "Location of the file is $LOCATION/add_uniquedomainid_$OBJECT.ldif"

#user to bind as
#echo -n "enter the admin user name with full context (e.g. cn=admin,o=novell): "
#read ADMINUSER
#echo "admin user is $ADMINUSER"

sleep 2;
#/opt/novell/eDirectory/bin/ldapsearch -x -D $ADMINUSER -W -e $EDIRCERT -p636 -b $OBJECT dn |grep -ve ^# |grep -ve ^search: |grep -ve ^result: | sed -e :a -e '$!N;s/\n //;ta' -e 'P;D'|sed -e'/^dn/ a\changetype: modify' -e'/search: /d; /result: /d' >$LOCATION/add_uniquedomainid_$OBJECT.ldif

#ldapsearch -LLL -x -H ldaps:/// -D $ADMINUSER -W -b "" cn=*$OBJECT ,* dn | sed -e :a -e '$!N;s/\n //;ta' -e 'P;D'|sed -e'/^dn/ a\changetype: modify' -e'/search: /d; /result: /d' >$LOCATION/add_uniquedomainid_$OBJECT.ldif

ldapsearch -Y EXTERNAL -LLL -Q -b "" cn=*$OBJECT ,* dn | sed -e :a -e '$!N;s/\n //;ta' -e 'P;D'|sed -e'/^dn/ a\changetype: modify' |sed -e '/^changetype: modify a\add: uniqueDomainID' |sed -e'/^add: uniqueDomainID a\uniqueDomainID: 1049076' -e'/search: /d; /result: /d' >$LOCATION/add_uniquedomainid_$OBJECT.ldif

ldapmodify -Y EXTERNAL <$LOCATION/add_uniquedomainid_$OBJECT.ldif

rm $LOCATION/add_uniquedomainid_$OBJECT.ldif

exit 0