Well if you ask me, but you didn't...but I will say it anyway.

I would create a group in each OU that represents the OU.
Globalgroup "SALES" in the OU=SALES,dc=dc1,dc=domain,dc=com
Globalgroup "Engineering" in the OU=Engineering,dc=dc1,dc=domain,dc=com

1) use TranslateName() UDF to get the DN of the Group.
2) strip off the CN=SALES to get OU DN or bind to the Group object and get "$grp.Parent"
3) you can use TranslateName() to get the DN of the user and like in #2 you have the user's OU

I would explore a script that takes input like move user (user1) from group SALES to group Engineering. You then can implemet the above listed staep to get all the info you need.
_________________________
Home page: http://www.kixhelp.com/hb/