#! /bin/sh email="$1" ##Testing #email="robyn.douglas@victrack.com.au" ###email="david.cain@victrack.com.au" #email="Sladjana.Gobeljic-Karapandzic@victrack.com.au" #email="aileen.guanlao@victrack.com.au" if [ -z "$email" ]; then echo "Usage: getpic emailaddress" exit 0 fi echo "getpic for email=[$email]" # Douglas\2C Robyn, Users, VicTrack, victrackad.victrack.com.au #dn: CN=Douglas\, Robyn,OU=Users,OU=VicTrack,DC=victrackad,DC=victrack,DC=com,D # C=au #sAMAccountName: robynd #mail: Robyn.Douglas@VICTRACK.com.au #extensionAttribute1: \\s-vm-sp01\photo$\ROBYND.jpg #thumbnailPhoto: base64 encodes jpeg..... tmpfile1="/tmp/getpic_1_$$" #gldap6 "$email" >"$tmpfile1" gldap7 "$email" >"$tmpfile1" ## Testing #cat gldap6.log > "$tmpfile1" echo "---- ldap info for email=[$email] ----" cat "$tmpfile1" echo "-------------------------------------" . "$tmpfile1" rm -f "$tmpfile1" ##Testing #echo "sAMAccountName=[$sAMAccountName]" #echo "mail=[$mail]" #echo "extensionAttribute1=[$extensionAttribute1]" #echo "thumbnailPhoto=[$thumbnailPhoto]" #echo "pic_arr3=[$pic_arr3]" #echo "pic_arr4=[$pic_arr4]" #echo "pic_arr4=[$pic_arr5]" ##exit #--------------------------------------------- # store pics here picstore="pics" export picstore mkdir -p "$picstore" backuppicstore="pics_backup" export backuppicstore mkdir -p "$backuppicstore" #--------------------------------------------- # get pic using name in extensionAttribute1 from SMB share USE_extensionAttribute1="0" if [ "$USE_extensionAttribute1" = "1" ]; then echo "getpic: getting pic using smb share from path in ASD attribute extensionAttribute1" #picserver="//s-vm-sp01" picserver="//$pic_arr3" echo "picserver=[$picserver]" #picshare="$picserver/Photo\$" picshare="$picserver/$pic_arr4" echo "picshare=[$picshare]" #pic="ROBYND.jpg" pic="$pic_arr5" echo "pic=[$pic]" if [ -z "$pic" ]; then echo "Error: pic not found from AD" exit 1 fi userid="vrt_svc_telmax" passwd="Z-dM-9o}s" ## list services #smbclient -L ${picserver} -U${userid}%${passwd} ## interactive #smbclient ${picshare} -U${userid}%${passwd} #exit 0 ## use local smbclient #cd "$picstore" #smbcmd="prompt; get \"$pic\"" #result=`smbclient ${picshare} -U${userid}%${passwd} -c "$smbcmd" 2>&1` #laststatus=$? #cd .. # use getsmbv2 pwd=`pwd` result=`getsmbv2 ${picshare} "./" "${pic}" "${pwd}/${picstore}" 2>&1` laststatus=$? echo "getpic: laststatus=[$laststatus] result=[$result]" thepicfile=`echo "$result" | awk '/^getting file / { print substr($3,2) }'` echo "getpic: thepicfile=[$thepicfile]" getstatus=`echo "$result" | awk -F' ' ' { #if ( NR == 2 ) { if ( $1 == "getting" && $2 == "file" ) { #print "getstatus: " $0 #getstatus = $1$2 getstatus = $0 print getstatus exit 0 } } '` echo "getpic: getstatus=[$getstatus]" ## Testing #exit 0 fi #--------------------------------------------- # get pic from AD using thumbnial Attribute # that contains base64 encoded jpeg. USE_thumbnailPhoto="1" if [ "$USE_extensionAttribute1" != "1" -a "$USE_thumbnailPhoto" = "1" ]; then echo "getpic: getting pic from content of AD attribute thumnailPhoto" echo "sAMAccountName=[$sAMAccountName]" echo "mail=[$mail]" echo "thumbnailPhoto=[$thumbnailPhoto]" thepicfile=`echo "$sAMAccountName" | awk '{ print toupper($1) }'`".jpg" echo "getpic: decoding base64 thumbnailPhoto" echo " picstore: ${picstore}" echo " thepicfile: ${thepicfile}" #echo "$thumbnailPhoto" >th1 echo "$thumbnailPhoto" | base64 -d -i > "${picstore}/${thepicfile}" ##Testing #exit 0 fi #--------------------------------------------- if [ -n "$picstore/$thepicfile" -a -f "$picstore/$thepicfile" ]; then echo "got $thepic for email=[$email]" # add pic to zip store (pic must be in $picstore" T21E_storepic "$thepicfile" "$email" # copy to backup echo "copy $picstore/$thepicfile to ${backuppicstore}/${email}.jpg" cp "$picstore/$thepicfile" "${backuppicstore}/${email}.jpg" else echo "failed to get $thepicfile for email=[$email]" fi exit 0