I had this problem and tried all the usual fixes to no avail. Just when I was about to launch the computer through the window, I noticed that it only affected users with mandatory profiles (ie, all our student accounts!). Without the profiles the logon scripts ran, with them they didn't.
It turned out to be a permissions problem on the registry hive on the mandatory profile. I'd already set it so that Authenticated Users had permissions over the hive, but I hadn't propagated that change through the hive in the usual NTFS-y way. I did that with regedit and now the scripts run - Hooray!
This didn't seem to work for us but thanks for the suggestion. Fortunately we've just about got everything configured through policies and profiles now, so its not too much of a problem.
Look at transitioning to VBS or GPP, bat is getting quite old. It will be choking at the reg del bit as you need admin approval for stuff like that and there are cleaner (if slower) methods. I would not recommend removing UAC as it is a major security feature and can cause unforseen side effects in the future.
Have you checked the stupid "User Account Control Settings". User Account Control Settings has some good things and some bad things when give system admins nightmares. This was the cause when I had a vb script to map my drives. Try turning it off to see if this helps.
hmm, I am assuming that you are storing the batch script you are trying to run in the netlogon folder and Server4 is your primary domain controller.
if this is your script, then try and add "Pause" without quotes at the end of it. This just pauses the script and waits for user action. If nothing shows up then i can figure out further what your problem is. The netlogon share should allow you run batch scripts regards less if they are admin or not.
net use n: \\server1\users\students\%username% /persistent:no
net use o: \\server3\applications /persistent:no
NET TIME \\server4 /SET /YES
if exist \\server4\netlogon\screenres\%computername%.bat call \\server4\netlogon\screenres\%computername%.bat
if not exist \\server4\netlogon\screenres\%computername%.bat call \\server4\netlogon\screenres\default.bat
reg delete "HKCU\printers\connections" /f
if exist \\server4\netlogon\printers\%computername%.reg regedit /s \\server4\netlogon\printers\%computername%.reg
if not exist \\server4\netlogon\printers\%computername%.reg regedit /s \\server4\netlogon\printers\allprinters.reg
I had a similar problem today and resolved it by adding the domain to the intranet zone in IE config. (This happened after I changed the location of a logon script from a specific server to the domain.)
If you have more than one domain controller - make sure that the scripts are replicating acrossthem. Simply check each DC in turn by looking at \\servername\netlogon and checking that the scripts are there on each server.
If they are not - then you have a replication issue that will need to be resolved.