In addition to all of the above make sure that in your IP settings for the network adaptors both fixed and wireless, the DNS setting points to your local DNS server. This makes a big difference in not only login times but any communication with your servers
OK I've sperated this out.
It's very important that you use this in conjunction with XCACLS to keep a check on the folder permissions so the students can't save to the desktop or startmenu. Our machines run XCACLS every startup to check the folder permissions are correct. This process only take a few seconds to run.Code:
'SPIRES ACADEMY STUDENT WORKSTATION STARTUP SCRIPT
'Wirtten by M.Redman July 2009
'Based on Origenal Script written for NBC in 2007 by M.Redman
'This script works by doing the following:
'1. Checks to see if the version number specified exists, if it does then it bypasses the whole icon section of the script. If it doesn't or is different it goes to copy icons as below;
'2. Checks to see if icongroups folder exists, if it doesn't it creates it
'3. The entire old icon cache is deleted ready for a fresh copy if it exists
'4. Main set of icons are copied from a central storage location
'5. Other Icon groups are copied from individual storage locations based on OUs the machines are in
'6. Creates the version number file so the script knows the latest set of icons exists on the local machine.
'7. Additional icons are copied on an individual basis by looking for certain program files on the local machine.
'YOU WILL NEED TO USE XCACLS TO ALTER THE PERMISSIONS ON THE LOCAL FOLDER TO STOP STUDENTS SAVING TO IT
'OR PRE-CREATE THE FOLDER WITH THE CORRECT PERMISSIONS SET, AND ALTER THE SCRIPT ACCORDINGLY.
Const OverWriteFiles = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
'Set Version number
' # To Copy new icons #
' # Increment the #
' # value Below. #
' ### MODIFY BLOW THIS LINE ONLY ###
' ### DO NOT MODIFY BELOW THIS LINE ###
'Check to see if version file exists if it does, whole icon section is bypassed.
If Not objFSO.FileExists("c:\ICONGROUPS\STUDENTS\" & strfile) then
'Check to see is Icon folders exist, if not create folder
If Not objFSO.FolderExists("c:\ICONGROUPS") then
'Delete old icon cache if it exists
If objFSO.FolderExists("c:\ICONGROUPS\STUDENTS") then
'Copy global icons from server
objFSO.CopyFolder "\\spires\netlogon\ICON BANK\MAIN" , "C:\ICONGROUPS\STUDENTS" , OverWriteFiles
'Setup for reading machine OU and copy extra ocons according to OU membership.
Set objWshNetwork = CreateObject("WScript.Network")
Set objAdsSystemInfo = CreateObject("adsysteminfo")
Set objComputerName = GetObject("LDAP://" & objAdsSystemInfo.ComputerName)
Set objOU = GetObject(objComputerName.Parent)
strOU = replace(objOU.Name,"OU=","")
'For each Case statement, a seperate folder can exist
Select Case strOU
Case "Room 22"
objFSO.CopyFolder "\\spires\netlogon\ICON BANK\Room22" , "C:\icongroups\students" , OverWriteFiles
Case "Room 25"
objFSO.CopyFolder "\\spires\netlogon\ICON BANK\MATHS" , "C:\icongroups\students" , OverWriteFiles
'Create version number txt file
Set objFile = objFSO.CreateTextFile("c:\ICONGROUPS\STUDENTS\" & strFile)
'Copy Icons for specific programs that may be installed anywhere
If objFSO.FileExists("C:\pinnacle\Program\Programs\Studio.exe") then
If Not objFSO.FOLDERExists("C:\ICONGROUPS\STUDENTS\STARTMENU\PROGRAMS\Pinnacle") then
objFSO.CopyFolder "\\spires\netlogon\ICON BANK\Pinnacle" , "C:\icongroups\students" , OverWriteFiles
If objFSO.FileExists("c:\Program Files\Mozilla Firefox\firefox.exe") then
If Not objFSO.FILEExists("C:\ICONGROUPS\STUDENTS\STARTMENU\PROGRAMS\Mozilla Firefox.lnk") then
objFSO.CopyFolder "\\spires\netlogon\ICON BANK\Firefox" , "C:\icongroups\students" , OverWriteFiles
Because the whole script is written to check for certain files first, it only copies data over the network if the local machine actually needs it otherwise it skips over the sections not needed in a fraction of a second.
I've trimmed this down lots - you have a couple of examples of each type of icon distribution I use in this script.
Thanks Maniac. Ill give that a go!!!!
would this script go in the machine startup or user login?
Also if all your students use the same mandatory profile, you can cache that locally and freeze it as well if you desired.
Ive managed to get the script working but as a User login script or startup script it just says permision denied line 54 char 1. Is this because i dont have the correct permission on the c: drive? Im not using xcacls
Ive now sorted it. Works like a charm!!
was just looking through some posts and came across your one, I am having some issues with login times over wireless LAN (see below link I have posted)
Was wondering if you could have a look and give me a few pointers/help
Appolgies for resurecting this tread again, but i have now tried to implement the same script for a windows 7 test computer but it fails to copy the icons across. It creates the startmenu folder in the root of the C: but doens't copy any of the icon over. XP seems to be fine.
The script is used in the machine startup not user log on. Would it point to a permissions problem on the c drive of the windows 7 machine?
I've never used it on windows 7 so I'm not really in a position to help you much, sorry!
The basic functions of the script are fairly simple, so as a guess I would say it's a permissions problem with the location you are copying the icons from, as oppose to a permissions problem on the local machine, because it has sucessfully created the folders so you know it is able to write to the C:\
Do you have UAC enabled? Having that switched on causes problems when copying into the root of a drive (or at least it does with me). It comes up with the 'You must click continue' prompt. You could try writing to a folder that always exists by default, that should allow it through.
Tried doing and existing folder but thats still the same.
Managed to get it working. I edited the script to copy the shortcuts from the file server.