Guest samhale Posted October 15, 2008 Posted October 15, 2008 I'm the Tech Director at a school and we use Windows 2003 Server to pass scripts to clients on login depending on user and location. Everything worked well for a year with clients but this year our 4th grade class has been having sporadic problems. The general 'share' folder that all users have always works for these users, but around 20% of the time their individual user mapped-drive does not show up. It is not dependent on machine or user but seems random. Most times the user can logout and log back in and it maps their network drive properly. I'm no script expert (the one we use was created by a consultant) but I would appreciate any help or suggestions that anyone might provide. Kixtart Script: ;DEBUG "ON" ;MessageBox("Running Logon Script", "ASDS",0, 2) ;;;;;;;;;;;; ; Functions ; ; this function will delete *all* network printers function DelPrinterConnections() dim $c,$bk,$conn $c=0 $bk="HKEY_CURRENT_USER\Printers\Connections" $conn=enumkey($bk,$c) while @error=0 $c=$c+0.5 $conn=delkey($bk+"\"+$conn) $conn=enumkey($bk,$c) loop endfunction ; this function will only delete network printers from 2kserv01 /* function Del2kserv01Printers() dim $c,$bk,$conn $c=0 $bk="HKEY_CURRENT_USER\Printers\Connections" $conn=enumkey($bk,$c) while @error=0 $c=$c+0.5 if instr($conn, "2kserv01") > 0 $conn=delkey($bk+"\"+$conn) endif $conn=enumkey($bk,$c) loop endfunction */ ;;;;;;;;;;;;;;;;;;;;;;;;; ; Mapping Network Drives ; ; remove all exiting mapped drive letters USE "*" /DELETE /PERSISTENT ; individually delete s: and v: did not work ;USE s: /delete ;USE v: /delete USE s: "\\saints\share" /persistent IF InGroup("teachers") USE V: "\\saints\users\teachers\" + @USERID ENDIF IF InGroup("class2007") USE V: "\\saints\users\students\class of 2007\" + @USERID ENDIF IF InGroup("Class of 2008") USE V: "\\saints\users\students\class of 2008\" + @USERID ENDIF IF InGroup("Class of 2009") USE V: "\\saints\users\students\class of 2009\" + @USERID ENDIF IF InGroup("Class of 2010") USE V: "\\saints\users\students\class of 2010\" + @USERID ENDIF IF InGroup("Class of 2011") USE V: "\\saints\users\students\class of 2011\" + @USERID ENDIF IF InGroup("Class of 2012") USE V: "\\saints\users\students\class of 2012\" + @USERID ENDIF IF InGroup("Class of 2013") USE V: "\\saints\users\students\class of 2013\" + @USERID ENDIF IF InGroup("Class of 2014") USE V: "\\saints\users\students\class of 2014\" + @USERID ENDIF IF InGroup("Class of 2015") USE V: "\\saints\users\students\class of 2015\" + @USERID ENDIF IF InGroup("Class of 2016") USE V: "\\saints\users\students\class of 2016\" + @USERID ENDIF IF InGroup("Class of 2017") USE V: "\\saints\users\students\class of 2017\" + @USERID ENDIF IF InGroup("Class of 2018") USE V: "\\saints\users\students\class of 2018\" + @USERID ENDIF ;;;;;;;;;;;;;;;;;;;;; ; Printer Assignment ; ; delete any network printers connected to theold server, 2kserv01 ; Del2kserv01Printers() ; determine if a computer in in the lab or in the library $in_lab = 0 $in_lib = 0 $in_laptop = 0 $err = 0 $all_grps = GetObject("WinNT://" + @domain + "/" + @wksta + "$$" ) for each $grp in $all_grps.Groups ;MessageBox($grp.Name,"Groups",0) if $grp.Name = "labgrp" $in_lab = 1 endif if $grp.Name = "libgrp" $in_lib = 1 endif if $grp.Name = "laptopgrp" $in_laptop = 1 endif next ; computer lab IF $in_lab = 1 ;MessageBox("In the lab", @HOSTNAME, 0 ) DelPrinterConnections() $rv = AddPrinterConnection("\\saints\LabDell3100") if $rv <> 0 ;MessageBox("Could not use the Lab Color Laser 3100:" + $rv,"Error",0,2) $err = $err + 1 endif $rv = AddPrinterConnection("\\saints\LabHP2200") if $rv <> 0 ;MessageBox("Could not connect to printer: Lab HP 2200:" + $rv + @CRLF + @SError,"Error",0,2) $err = $err + 1 endif ; kixtart SetDefaultPrinter() does not seem to work sleep 0.5 Run "c:\windows\system32\cscript.exe //nologo \\asds1.local\netlogon\default_lab_prtr.vbs" endif ; library IF $in_lib = 1 ;MessageBox("In the library", @HOSTNAME, 0 ) DelPrinterConnections() $rv = AddPrinterConnection("\\saints\LibraryColor") if $rv <> 0 ;MessageBox("Could not connect to: Library Color Laser Printer 3100:" + $rv + @CRLF + @Serror,"Error",0,2) $err = $err + 1 endif $rv = AddPrinterConnection("\\saints\LibraryLaser1700") if $rv <> 0 ;MessageBox("Could not connect to: Library Laser Printer 1700:" + $rv + @CRLF + @Serror,"Error",0,2) $err = $err + 1 endif sleep 0.5 Run "c:\windows\system32\cscript.exe //nologo \\asds1.local\netlogon\default_lib_prtr.vbs" endif ; laptop computers if $in_laptop = 1 ;MessageBox("Is a laptop", @HOSTNAME, 0 ) DelPrinterConnections() $rv = AddPrinterConnection("\\saints\LabDell3100") if $rv <> 0 ;MessageBox("Could not use the Lab Color Laser 3100:" + $rv, "Error", 0, 2) $err = $err + 1 endif $rv = AddPrinterConnection("\\saints\LabHP2200") if $rv <> 0 ;MessageBox("Could not connect to: Lab HP 2200:" + $rv + @CRLF + @SError, "Error",0,2) $err = $err + 1 endif $rv = AddPrinterConnection("\\saints\LibraryColor") if $rv <> 0 ;MessageBox("Could not connect to: Library Color Laser Printer 3100:" + $rv + @CRLF + @Serror,"Error",0,2) $err = $err + 1 endif $rv = AddPrinterConnection("\\saints\LibraryLaser1700") if $rv <> 0 ;MessageBox("Could not connect to printer: Library Laser Printer 1700:" + $rv + @CRLF + @Serror,"Error",0,2) $err = $err + 1 endif sleep 0.5 Run "c:\windows\system32\cscript.exe //nologo \\asds1.local\netlogon\default_lib_prtr.vbs" endif ;;;;;;;;;;;;;;;;;; ; Icon Management ; ; change out office icons, remove old ones, copy down good ones from the server del "c:\Documents and Settings\@USERID\Desktop\New Office Document.lnk" del "c:\Documents and Settings\@USERID\Desktop\Microsoft Publisher.lnk" del "c:\Documents and Settings\@USERID\Desktop\Microsoft PowerPoint.lnk" del "c:\Documents and Settings\@USERID\Desktop\Microsoft Word.lnk" del "c:\Documents and Settings\@USERID\Desktop\New Microsoft Word Document.doc" del "c:\Documents and Settings\@USERID\Desktop\Shortcut to WINWORD.lnk" del "c:\Documents and Settings\@USERID\Desktop\Shortcut to ccopac.lnk" copy "\\saints\netlogon\icons_global\*.lnk" "c:\Documents and Settings\@USERID\Desktop\" if $in_lib = 1 copy "\\saints\netlogon\icons_lib\*.lnk" "c:\Documents and Settings\@USERID\Desktop\" endif if $in_lab = 1 copy "\\saints\netlogon\icons_lab\*.lnk" "c:\Documents and Settings\@USERID\Desktop\" endif -- samhale ------------------------------------------------------------------------ samhale's Profile: http://forums.techarena.in/members/samhale.htm View this thread: http://forums.techarena.in/windows-server-help/1055521.htm http://forums.techarena.in
Recommended Posts