Thanx Jens!!!
Here's the final code if you study this you will meen waht I mean with the problem described in my previous post...

code:
; Script voor basislogon van eindgebruikers
; Auteur: Ingo Van den Broeck
; Versie: 26/11/2001
; Aanpassing 26/11/2001: Ingo Van den Broeck - Opbouw scriptlogica
break on

; Apply basic data
$TimeStamp = substr(@date,1,4) + "-" + substr(@date,6,2) + "-" + substr(@date,9,2) + " om " + substr(@time,1,2) + substr(@time,4,2) + substr(@time,7,2)

; Number of different resource servers
dim $aServers[5] ; applicatieservers
dim $dServers[5] ; printservers
dim $pServers[5] ; projectservers
dim $wServers[10] ; werkgroepservers

$aServerTel = 0
$dServerTel = 0
$pServerTel = 0
$wServerTel = 0

; Number of different groups
dim $aGroepen[50] ; applicatiegroepen
dim $dGroepen[50] ; printergroepen
dim $pGroepen[50] ; projectgroepen
dim $wGroepen[50] ; werkgroepen

$aGroepTel = 0
$dGroepTel = 0
$pGroepTel = 0
$wGroepTel = 0

; Timesynchronisationserver
$TimeServer = @lserver

; Standard reserved driveletters
$WerkLetter = "GJKL-"
$ApplLetter = "QRP-"
$ProjLetter = "STUV-"


; Process and remember the pure primary group (without security-rights)
$PrimGroep = ucase(@primarygroup)
select
case substr($PrimGroep, 1, 5) = "APPL_" ; dit is zeker geen standaard werkgroep
$PrimGroep = "onbekend"
case substr($PrimGroep, 1, 5) = "PROJ_" ; dit is zeker geen standaard werkgroep
$PrimGroep = "onbekend"
case substr($PrimGroep, 1, 5) = "PRNT_" ; dit is zeker geen standaard werkgroep
$PrimGroep = "onbekend"
case 1
if substr($PrimGroep, len($PrimGroep) - 1, 1) = "-"
$PrimGroep = substr($PrimGroep, 1, len($PrimGroep) - 2)
endif
endselect

; Empty screen an show scriptlayout
color w/b
box(0, 0, 3, 79, single)
at(1, 6) "Welkom op het netwerk van het ministerie van de Vlaamse Gemeenschap"
at(2, 34 - (len(@primarygroup) / 2)) "Entiteit " + $PrimGroep

; Show user details
color w/n
box(4, 0, 24, 79, single)
at(6, 3) "Naam : "
at(7, 3) "Loginnaam : "
at(8, 3) "Commentaar: "
at(10, 3) "Homedir : "
at(11, 3) "Computer : "
at(12, 3) "IP-adres : "
at(13, 3) "MAC-adres : "
color n/w
at(4, 1) " Identificatie "
at(4, 67) " " + @mdayno + "/" + @monthno + "/" + @year + " "
color g+/n
at(6, 15) @fullname + " (" + @priv + ")"
at(7, 15) @ldomain + "\" + @userid
at(8, 15) @comment
if len(@homedrive) = 0
at(10, 15) "-"
else
at(10, 15) @homedrive + "\" + @longhomedir
endif
at(11, 15) @domain + "\" + @wksta
at(12, 15) ltrim(@ipaddress0)
at(13, 15) @address
color w+/n+
box(10, 40, 24, 65, single)
box(10, 66, 24, 79, single)
color n+/w+
at(10, 41) " Netwerkkoppelingen "
at(10, 67) " Printers "
color n/r+
at(18, 3) " Even geduld aub... "
color w+/n+


; Start a prologue-script if one present
if exist (@lserver + "\netlogon\gscripts\Proloog.kix")
call @lserver + "\netlogon\gscripts\Proloog.kix"
endif


; Make the standaard reserved driveletters free
$ScriptDrives = $WerkLetter ; + $ApplLetter + $ProjLetter
$teller = 1
do
use substr($ScriptDrives, $teller, 1) + ":" /delete /persistent
$teller = $teller + 1
until $teller > len($ScriptDrives)


; Mount Homedrive
if len(@homedrive) = 0
$DriveLijn = 12
else
at(12, 42) @homedrive + " Homedrive"
$DriveLijn = 13
endif


; Make grouplist of the local groups (= list of servers)
$teller = 0
do
$groep = enumlocalgroup($teller)
$teller = $teller + 1
select
case ucase(substr($groep, 1, 2)) = "A-" ; Applicatieserver
$aServerTel = $aServerTel + 1
$aServers[$aServerTel] = "\\" + substr($groep, 3, len($groep) - 2)
case ucase(substr($groep, 1, 2)) = "D-" ; Printserver
$dServerTel = $dServerTel + 1
$dServers[$dServerTel] = "\\" + substr($groep, 3, len($groep) - 2)
case ucase(substr($groep, 1, 2)) = "P-" ; Projectserver
$pServerTel = $pServerTel + 1
$pServers[$pServerTel] = "\\" + substr($groep, 3, len($groep) - 2)
case ucase(substr($groep, 1, 2)) = "W-" ; Werkgroepserver
$wServerTel = $wServerTel + 1
$wServers[$wServerTel] = "\\" + substr($groep, 3, len($groep) - 2)
endselect
until len($groep) = 0


; Make grouplist of the global groups (list of applications, printers, projectd and workgroups)
$teller = 0
do
$groep = enumgroup($teller)
if substr($groep, len($groep) - 1, 1) = "-"
$groep = substr($groep, 1, len($groep) - 2)
endif
$teller = $teller + 1
select
case substr($groep, 1, 5) = "APPL_" ; Applicationgroups
$gtel = 0
while $gtel <= $aGroepTel
$gtel = $gtel + 1
if $gtel > $aGroepTel
$aGroepTel = $aGroepTel + 1
$aGroepen[$aGroepTel] = $groep
endif
if instr($groep, $aGroepen[$gtel]) or instr($aGroepen[$gtel], $groep)
$gtel = $aGroepTel + 1
endif
loop
case substr($groep, 1, 5) = "PROJ_" ; Projectgroups
$gtel = 0
while $gtel <= $pGroepTel
$gtel = $gtel + 1
if $gtel > $pGroepTel
$pGroepTel = $pGroepTel + 1
$pGroepen[$pGroepTel] = $groep
endif
if instr($groep, $pGroepen[$gtel]) or instr($pGroepen[$gtel], $groep)
$gtel = $pGroepTel + 1
endif
loop
case substr($groep, 1, 5) = "PRNT_" ; Printgroups
$gtel = 0
while $gtel <= $dGroepTel
$gtel = $gtel + 1
if $gtel > $dGroepTel
$dGroepTel = $dGroepTel + 1
$dGroepen[$dGroepTel] = substr($groep, 6, len($groep) - 5)
endif
if instr($groep, $dGroepen[$gtel]) or instr($dGroepen[$gtel], $groep)
$gtel = $dGroepTel + 1
endif
loop
case 1 ; Werkgroepen
; remove maximal the first two underscores,
; these workgroups are only of use if a share exists for it,
; so just for dep_adm or dep_adm_afd or no shares at all (in special cases)
$tempg = substr($groep, instr($groep, "_") + 1, len($groep) - instr($groep, "_"))
$tempg = substr($tempg, instr($tempg, "_") + 1, len($tempg) - instr($tempg, "_"))
if instr($tempg, "_") = 0
$gtel = 0
while $gtel <= $wGroepTel
$gtel = $gtel + 1
if $gtel > $wGroepTel
$wGroepTel = $wGroepTel + 1
$wGroepen[$wGroepTel] = $groep
endif
if instr($groep, $PrimGroep) or instr($PrimGroep, $groep) or instr($groep, $wGroepen[$gtel]) or instr($wGroepen[$gtel], $groep)
$gtel = $wGroepTel + 1
endif
loop
endif
endselect
until len($groep) = 0


; Get all Local and Global Groups
$arLocal = GetUserLocalGroups()
$arGlobal = GetUserGlobalGroups()


; mount the workgroups
; Take standard workgroep first (primary group)
if $wServerTel > 0
if $PrimGroep <> "onbekend"
use substr($WerkLetter, 1, 1) + ":" $wServers[1] + "\" + $PrimGroep
if @error = 0
at($DriveLijn, 42) substr($WerkLetter, 1, 1) + ": " + $PrimGroep
$DriveLijn = $DriveLijn + 1
$letter = 2
else
$letter = 1
endif
endif
$teller = 0
while $teller < $wGroepTel
$teller = $teller + 1
$stel = 0
while $stel < $wServerTel and substr($WerkLetter, $letter, 1) <> "-"
; Maak koppeling voor werkgroep(en)
$stel = $stel + 1
use substr($WerkLetter, $letter, 1) + ":" $wServers[$stel] + "\" + $wGroepen[$teller]
if @error = 0
at($DriveLijn, 42) substr($WerkLetter, $letter, 1) + ": " + $wGroepen[$teller]
if $DriveLijn < 22
$DriveLijn = $DriveLijn + 1
endif
$letter = $letter + 1
$stel = $wServerTel
if exist (@lserver + "\netlogon\gscripts\" + $wGroepen[$teller] + ".kix")
call @lserver + "\netlogon\gscripts\" + $wGroepen[$teller] + ".kix"
endif
endif
loop
loop
endif

; mount the applications
if $aServerTel > 0
$teller = 0
$letter = 1
while $teller < $aServerTel and substr($ApplLetter, $letter, 1) <> "-"
$teller = $teller + 1
use substr($ApplLetter, $letter, 1) + ":" /delete /persistent
use substr($ApplLetter, $letter, 1) + ":" $aServers[$teller] + "\APPL" + substr($aServers[$teller],len($aServers[$teller])-2,3)
if @error = 0
at($DriveLijn, 42) substr($ApplLetter, $letter, 1) + ": Applicatie(s)"
if $DriveLijn < 22
$DriveLijn = $DriveLijn + 1
endif
$letter = $letter + 1
endif
loop
endif


; execute eventual specific scripts bound to applications
$teller = 0
while $teller < $aGroepTel
$teller = $teller + 1
if exist (@lserver + "\netlogon\gscripts\" + $aGroepen[$teller] + ".kix")
call @lserver + "\netlogon\gscripts\" + $aGroepen[$teller] + ".kix"
endif
loop


; mount the projects
if $pServerTel > 0
$teller = 0
$letter = 1
while $teller < $pServerTel and substr($ProjLetter, $letter, 1) <> "-"
$teller = $teller + 1
use substr($ProjLetter, $letter, 1) + ":" /delete /persistent
use substr($ProjLetter, $letter, 1) + ":" $pServers[$teller] + "\PROJ" + substr($pServers[$teller],len($pServers[$teller])-2,3)
if @error = 0
at($DriveLijn, 42) substr($ProjLetter, $letter, 1) + ": Project(en)"
if $DriveLijn < 22
$DriveLijn = $DriveLijn + 1
endif
$letter = $letter + 1
endif
loop
endif


; execute eventual scripts that are bound to projects
$teller = 0
while $teller < $pGroepTel
$teller = $teller + 1
if exist (@lserver + "\netlogon\gscripts\" + $pGroepen[$teller] + ".kix")
call @lserver + "\netlogon\gscripts\" + $pGroepen[$teller] + ".kix"
endif
loop


; mount printers
$DriveLijn = 12
if $dServerTel > 0
$teller = 0
while $teller < $dGroepTel
$teller = $teller + 1
$stel = 0
while $stel < $dServerTel
$stel = $stel + 1
if addprinterconnection($dServers[$stel] + "\" + $dGroepen[$teller]) = 0
at($Drivelijn, 68) $dGroepen[$teller]
if $DriveLijn < 22
$DriveLijn = $DriveLijn + 1
endif
endif
loop
loop
endif


; ; execute eventual scripts that are bound to printers
$teller = 0
while $teller < $dGroepTel
$teller = $teller + 1
if exist (@lserver + "\netlogon\gscripts\" + $dGroepen[$teller] + ".kix")
call @lserver + "\netlogon\gscripts\" + $dGroepen[$teller] + ".kix"
endif
loop

; Start an epilogue-script if one present
if exist (@lserver + "\netlogon\gscripts\Epiloog.kix")
call @lserver + "\netlogon\gscripts\Epiloog.kix"
endif


; Exit and Show user that script has end
color w/n
box(18, 3, 18, 38, " ")

settime $TimeServer

$klaar = messagebox (@fullname + ",

U bent nu succesvol aangemeld op het netwerk.
Zijn vermelde gegevens correct? Zoniet, gelieve dit te melden aan uw DIC!", "Mededeling", 64, 7)