Kixtart does not map all drives/install all printers for all users??

Hi Experts,
I am having a problem with our Kixtart logon script.  I have groups for each share and for each printer.  The script removes all drives and printers then reconnects but for some users one or more drives and/or printers are not mapping at all.  I added verbosity to see what was going on and it never even attempts to map the drive/printer in question.
I originally thought that it might be a typo or they weren't assigned to the proper group but everything is correct and when i log in on a different computer with their profile, everything maps fine.
This issue is only affecting about 6/60 user's, one of which is my boss who is the worst case and lost 4 drives and a printer... : /
Also it works on all operating systems and there is no obvious connection between the PCs that are affected.

I attached the script, although the script seems to be fine

What could be causing this?

DIM $PrtServerName, $FileServerName
DIM $Prt, $Share, $Drive, $HomeDrive
DIM $ArrPtrs, $ArrShares, $ArrShareDrives
DIM $Loop

$PrtServerName = "\\server1\"
$FileServerName ="\\server1\"
$ArrPtrs = SPLIT("printer1,printer2,printer3,printer4,printer5,printer6,printer7,printer8,printer9,printer10,printer11,printer12,printer13,printer14",",")
$ArrShares = SPLIT("share1,share2$,share3$,share4$,share5$,share6$,share7$,share8,share9$,share10$,share11$,share12,share13,share14",",")
$ArrShareDrives = SPLIT("F:,I:,J:,K:,M:,N:,O:,P:,Q:,R:,T:,U:,V:,W:",",")
$HomeDrive = "H:"

; Delete local drive mappings
? "Removing Drive Mappings..."

; Map Home Drive
? "Mapping " + $HomeDrive + " as " + $FileServerName + "@USERID$" 
USE $HomeDrive $FileServerName + "@USERID$"

; Map Drives by Groups
FOR $Loop = 0 To UBOUND($ArrShares)
	IF INGROUP("mapto-" + $ArrShares[$Loop])
		? "Mapping " + $ArrShareDrives[$Loop] + " as " + $FileServerName + $ArrShares[$Loop]
		USE $ArrShareDrives[$Loop] $FileServerName + $ArrShares[$Loop]

; Remove Printer Connections
FOR $Loop = 0 To UBOUND($ArrPtrs)
	IF PriMapState($PrtServerName + $ArrPtrs[$Loop]) > 0
		? "Removing " + $ArrPtrs[$Loop] + " -- " + DELPRINTERCONNECTION($PrtServerName + $ArrPtrs[$Loop])

; Map Printers
FOR $Loop = 0 To UBOUND($ArrPtrs)
	IF INGROUP("Printers-" + $ArrPtrs[$Loop])
	   ? "Adding " + $PrtServerName + $ArrPtrs[$Loop] + " -- " + ADDPRINTERCONNECTION ($PrtServerName + $ArrPtrs[$Loop])
		IF INGROUP("DefaultPrinter-" + $ArrPtrs[$Loop])
			? "Setting " + $PrtServerName + $ArrPtrs[$Loop] + " as default printer. -- " + SETDEFAULTPRINTER($PrtServerName + $ArrPtrs[$Loop])

; Set time to domain controller
SETTIME "\\server1"


FUNCTION PriMapState($_Pri)
	IF @inwin=1
		IF LEN(READVALUE("HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices",$_Pri))
			IF SPLIT(READVALUE("HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows","Device"),",")[0]=$_Pri
		DIM $_Root,$_C,$_C2 $_Root="HKLM\System\CurrentControlSet\control\Print\Printers"
		FOR $_C=0 to 259
			IF INSTR(READVALUE($_Root+"\"+$_C2,"Port"),$_Pri)
				IF INSTR(READPROFILESTRING("%windir%\win.ini","windows","device"),$_Pri)
					$PriMapState = 2
					$PriMapState = 1
			IF $_C2=259 $_C=$_C2 ENDIF

Open in new window

LVL 10
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I would look into the aspect of it being a login script.  Perhaps it is not even being called during logon at all.  Where exactly is it specified to run at logon?  GPO? Registry? Start Menu->Startup?  If it is in a GPO perhaps the computer has some delay processing the GPO and misses the script.

As an aside KIX is 1990's tool that has been obsolete for 11 years.  This might be an opportunity to update your login scripts and utilize GPOs (or GPPs if you Windows 2008 DCs) to manage printers and drive letters.
Actually let me correct myself.  Just looked up kixstart and wouldn't you know it - someone has been maintaining it all this time, so I guess it's still out there after all.
FamousMortimerAuthor Commented:
The script is running and in fact some of the drives/printers do map correctly. I added pauses so i can watch it but it seems like it never tries to map the drives/printers as if it doesnt recognize that the user is part of the group, but the odd part is that when i login as the user in my virtual PCs, it will map everything properly
The script is specified as the login script on the AD accounts
I know Kix is an old tool but it is corporately approved so i an somewhat obligated to use it.  It is a pretty nice tool though, a lot of great built-in functions

It doesnt seem to know what groups the user account is part of at startup and i dont know where to go from here, but maybe i will try a vbscript and see if it does map properly
FamousMortimerAuthor Commented:
well, i deleted then recreated the groups and it seems to be working now.  i still dont understand why it worked for some and not for others but recreating the groups seems to be the solution.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
FamousMortimerAuthor Commented:
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.