#!/bin/bash

if [ -e ./LOCKFILE ];then
	exit 0
fi

case $1 in

	"server")
		touch ./LOCKFILE
			echo "Scanning..." > $IPADDRESS
			smbtree -NS|grep '\\'|tr -d '\t\\'|awk '{print $1}' > ${SERVERS}
			cat $SERVERS|head -n1 > $CURRENTSERVER
			ip=$(cat "${SERVERS}"|head -n1)
			nmblookup "$ip" 2>/dev/null|tail -n1|awk '{print $1}' > $IPADDRESS
			: > "$DROPDISK"
			while read
				do
					echo "$REPLY" >> "$DROPDISK"
				done < <(smbclient --no-pass -g -L "$ip" 2>/dev/null|grep Disk|awk -F "|" '{print $2}')
			cat $DROPDISK|head -n1 > $SELECTEDDISK
		rm ./LOCKFILE
		;;

	"disks")
		touch ./LOCKFILE
		echo "$2" > $IPADDRESS
		: > "$DROPDISK"
		while read
			do
				echo "$REPLY" >> "$DROPDISK"
			done < <(smbclient --no-pass -g -L "$2" 2>/dev/null|grep Disk|awk -F "|" '{print $2}')
		rm ./LOCKFILE
		;;

	"lookup")
		touch ./LOCKFILE
			nmblookup "$2" 2>/dev/null|tail -n1|awk '{print $1}' > $IPADDRESS
			: > "$DROPDISK"
			while read
				do
					echo "$REPLY" >> "$DROPDISK"
				done < <(smbclient --no-pass -g -L "$(cat $IPADDRESS)" 2>/dev/null|grep Disk|awk -F "|" '{print $2}')
			cat $DROPDISK|head -n1 > $SELECTEDDISK
		rm ./LOCKFILE
		;;
	*)
		exit 0
		;;

esac
exit 0

