I have been using the following script to create a calendar hierarchy of "others" calendars, so you will get /Others/group/user1, /Others/group/user2, etc. Perhaps it will help.
The file that gets in $USERFILE is simply a list of usernames to which you wish to create the "others" calendar group. The $GROUPFILE is a colon-delimited file that looks like
for x in `cat $GROUPFILE`
GRP=`echo $x|cut -d: -f1`
USR=`echo $x|cut -d: -f2`
echo "sm $USR"
for y in `cat $USERFILE`
echo "mfg /Calendar account $y@$domain rwidx"
for a in `cat $USERFILE`
echo "sm $a"
echo "cf -V appointment /Others"
for b in `cat $GROUPFILE`
GRP=`echo $b|cut -d: -f1`
COL=`echo $b|cut -d: -f3`
echo "cf -c $COL -V appointment /Others/$GRP"
for c in `cat $GROUPFILE`
GRP=`echo $c|cut -d: -f1`
USR=`echo $c|cut -d: -f2`
COL=`echo $c|cut -d: -f3`
echo "cm -c $COL -V appointment /Others/$GRP/$USR $USR@$domain /Calendar"
So if you had "bob:accounting:red", you would get an /Others/accounting/bob calendar that was shared from email@example.com.
When you run the script, it is best to redirect the output to a file, and then:
This was a hack I threw together one weekend to accomplish a mass calendar sharing hierarchy that needed setup in our environment. It has worked for me, but it sort of a pain to maintain, if someone gets added to the calendar or someone changes departments. I have another script that is basically the same as this with the addition of a "rf /others" at the beginning so it goes through and just removes the "other" and then create the whole hierarchy over again.
zmmailbox -z < redirectedfile