Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 22nd, 2012  |  syntax: None  |  size: 1.38 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #!/bin/bash
  2. IFS=$'\n'
  3. LDAP_SERVER="localhost"
  4. ldapsearch -LLL -h "$LDAP_SERVER" -x -D uid=diradmin,cn=users,dc=example,dc=com -w password -b cn=users,dc=example,dc=com '(&(objectClass=posixAccount)(!(uid=root))(!(uid=diradmin))(!(uid=vpn_*)))' \
  5. cn \
  6. sn \
  7. givenName \
  8. uidNumber \
  9. uid \
  10. l \
  11. st \
  12. postalCode \
  13. street \
  14. c \
  15. telephoneNumber \
  16. apple-imhandle \
  17. mail \
  18. mobile \
  19. apple-keyword \
  20. description |
  21. sed 's/^dn: uid=/dn: cn=/g' |
  22. sed 's@^$@userAccountControl: 66080\
  23. codePage: 0\
  24. accountExpires: 0\
  25. countryCode: 0\
  26. logonHours:: ////////////////////////////\
  27. @g' |
  28. sed 's/^uid:/sAMAccountName:/g' |
  29. sed 's/cn=users,dc=example,dc=com/ou=ImportedUsers,dc=ad,dc=example,dc=com\
  30. changetype: add\
  31. objectClass: top\
  32. objectClass: person\
  33. objectClass: organizationalPerson\
  34. objectClass: user\
  35. objectClass: apple-user\
  36. instanceType: 4\
  37. objectCategory: cn=Person,cn=Schema,cn=Configuration,dc=ad,dc=example,dc=com/g' |
  38. while read line ; do
  39.                 if [ "$line" != "${line/dn://}" ] ; then       
  40.                         declare MY_UID="$(echo "$line" | awk -F '[=,]' '/^dn:/{print $2}' )"
  41.                         declare MY_CN="$(ldapsearch -LLL -h "$LDAP_SERVER" -x -D uid=diradmin,cn=users,dc=example,dc=com -w password -b cn=users,dc=example,dc=com "(&(objectClass=posixAccount)(&(uid=$MY_UID)))" cn |
  42.                                                                 awk /^cn:/ |
  43.                                                                         sed 's/^cn: //g')"
  44.                         declare MY_NEWLINE="$(echo "$line" | sed "s/$MY_UID/$MY_CN/" )"
  45.                         echo "$MY_NEWLINE"
  46.                 else
  47.                         echo "$line"
  48.                 fi
  49. done