Fantastic! That's the exact piece of code I needed! Here's what I ended up with. I put it all together in about 5 minutes and had it run through Alpha testing in under 10. It goes into a beta group of about 50 PCs later today (after I add a few more mappings in it) then will be deployed to about 9000 PCs in our enterprise. Updating should be a breeze! One file (MCGroups.kix) to modify and allow SCCM to make sure each machine always has the latest version.

Kudos: Basically all I have done here is parse my commandline parameters. Allen already had everything else I needed. I was hoping for a jump-off point to get me started and what he posted completed the job in its entirety. I can't tell you how much I appreciate the help! \:D

Generic ID auto-logs into OS with domain credentials. GP is set, etc...
User logs into desktop with domain credentials (via bio-metrics) and is validated via LDAP.
Vergence Authenticator runs MapDrives.bat:
 Code:
@echo off
set Credentials=%3\%1 %2

REM H: Will be the users home (private) folder
net use H: /delete
net use H: \\hospfilesrv\home\%1 /USER:%Credentials% /HOME /PERSISTENT:YES

REM I: will be the ERCommon folder
net use I: /delete
net use I: \\hospfilesrv\ss2\ed\ercommon /USER:%Credentials% /HOME /PERSISTENT:YES

cd "C:\Program Files\Sentillion\Vergence Authenticator\Kix"
kix32 MCGroups.kix /f %3 %1 %2 /i

This kix off the KiXtart script which does the following;
Get the DESKTOP user ID, Domain, and Password.
Finds the FQDN of the user.
Checks to see what group memberships the user has.
Assigns drives appropriately.

 Code:
;  MCGroups.KIX

break on

GLOBAL $CL
GLOBAL $Credentials

;Make sure no drives are carried over from previous desktop user!
use * /DELETE

for each $Arg in GetCommandLine(1)
	$Ct = $Ct + 1
 	if $Ct = 4 $Dm = $Arg endif
	if $Ct = 5 $UN = $Arg endif
	if $Ct = 6 $PW = $Arg endif
next
$Credentials = $DM + "\" + $UN

;Thanks to Allen from the KiXtart.org forums for
;this code and the function!  He did all the REAL work.
$user=getuserdn($Credentials)
if $user
  $objUser=getobject("LDAP://" + $user)
  $Groups = $objUser.GetEx("memberof")
  for each $group in $groups
    $Groupname=GetObject("LDAP://" + $Group).cn
    if $groupname="MIG User Group"
        use R: /DELETE
        use R: "\\server\volume" /user:$Credentials /password:$PW
    endif
    if $groupname="Local Machine Admin"
        use Z: /DELETE
        use Z: "\\server\volume"  /user:$Credentials /password:$PW
    endif
  next
endif

Function getUserDN(optional $username)
  Dim $objTrans
  if $username=""
    $username=@ldomain + "\"+ @userid
  endif
  if not instr($username,"\")
    $username=@ldomain + "\" + $username
  endif
  $objTrans = CreateObject("NameTranslate")
  if @error
    exit @error
  else
    $objTrans.Init(3, "")
    $objTrans.Set(3,$username)
    $getUserDN = $objTrans.Get(1)
    if @error
      exit @error
    endif
  endif
EndFunction
_________________________
John K. Fischer
University of Kentucky
HealthCare - ITS