Since you are not using one of the MapDrive() UDFs, no drive mapping feedback is given from your script. Are you sure that it is the INGROUP function that is giving you the delay on not a bad mapping?

I would suggest you use the UDFs listed below to augment your script. Add Writelog() into other parts of your script as it will provide a logfile that is timestamped and you will know exactly where you delay is occurring.

Code:
Function MapDrive($Drive, $Server, $Share)
Dim $Drive, $Server, $Share, $shell
Color c+/n

If $Drive<>"" and $Server<>"" and $Share<>""
$LogText="Connecting $Drive to \\$Server\$Share"
? $LogText
USE $Drive /Delete /Persistent
USE $Drive "\\$Server\$Share"
If @error=0
color g+/n
$x=" - Success"
"$x"
If val($DOS) >= 5
$shell=createobject("shell.application")
$shell.namespace($Drive+"\").self.name=$Share + " on '" + $Server + "'"
$shell = 0
Endif
Else
color r+/n
$x=" - Failed: Error @error"
"$x"
$ErrorState=1
Endif
WriteLog ($LogText + $x)
WriteLog2("%temp%\MapDrive.log",$LogText + $x,1)
Color w+/n
Else
WriteLog ("Function 'MapDrive' called with invalid parameters: '$Drive', '$Server', '$Share'")
Endif
Endfunction

Function WriteLog($text)
dim $RC, $text, $LogFile, $Filehandle
$Filehandle = 1
$LogFile = "%temp%\logon.log"
$RC=Writeline ($Filehandle, "@Date @Time - $Text" + Chr(13) + Chr(10))
if $RC<0
$RC=Close ($Filehandle)
$RC=Open ($Filehandle, $LogFile, 5)
Select
Case $RC=-1
$RC=MessageBox ("Invalid file name ($LogFile) specified for log file.","Logon Script Error",48)
Case $RC=0
WriteLog ($Text)
Case $RC=>0
$RC=MessageBox ("Error($RC) while attempting to open log file ($LogFile).","Logon Script Error",48)
Endselect
Endif
EndFunction

;--------------------------------------------------------------------------------------------------
;FUNCTION WriteLog2()
;
;AUTHOR Howard A. Bullock (hbullock@tycoelectronics.com)
;
;ACTION Generic logging facility for scripts. Appends log entry to a file with an
; optional TimeStamp.
;
;SYNTAX WriteLog2($File, $text, [0|1])
;
;PARAMETERS $File (Required) - String value
; $text (Required) - String value
; $TimeStamp (Optional) Default(0) no TimeStamp (1 or 0)
;
;
;REMARKS This function writes (appends) an optionally time stamped log entry to the file
; defined in function. This function searches for the first unused file handle,
; open the file, and write the entry. The file handle is then closed. When the
; function is unable to perform its it write the error is displayed in a message box.
;
;RETURNS Nothing
;
;DEPENDENCIES None
;
;EXAMPLES WriteLog2("junk.txt","This is a test")
; WriteLog2("junk.txt","This is a test",0)
; WriteLog2("junk.txt","This is a test",1)
;
;
Function WriteLog2($File, $Text, optional $TimeStamp)
dim $RC, $File, $text, $FH, $TimeStamp, $nul
$FH=1
$RC=Open ($FH, $File, 5)
while $RC = -3 and $FH < 11
$FH=$FH +1
$RC=Open ($FH, $File, 5)
Loop
Select
Case $RC=0
if ($TimeStamp=1)
$TimeStamp = @Date + " " + @Time + " - "
else
$TimeStamp = ""
endif
$RC=Writeline ($FH, $TimeStamp + $Text + @CRLF)
if ($RC <> 0)
$text = "WriteLine error: $RC @CRLF -4 = File not open for writing@CRLF" +
" -3 = File number not open@CRLF -2 = Invalid file number specified@CRLF" +
" -1 = End of file"
$nul=MessageBox ($text,"Script Error",48)
endif
$nul=Close ($FH)
exit $RC
Case $RC=-2
$text = "WriteLog2: Invalid file handle ($FH) specified when trying to Open $File."
$nul=MessageBox ($text,"Script Error",48)

Case $RC=-1
$text = "WriteLog2: Invalid file name ($File) specified for log file."
$nul=MessageBox ($text,"Script Error",48)

Case $RC=>0
$text = "System Error($RC) while attempting to open log file ($File)."
$nul=MessageBox ($text,"Script Error",48)

Endselect
exit $RC
EndFunction

_________________________
Home page: http://www.kixhelp.com/hb/