DOWNLOAD THE CODE:
Download the Code 20769.zip

I've built a script that works great until I run it as a scheduled task—then it fails. What's wrong?

You can use Windows 2000's or Windows NT 4.0's Task Scheduler to run commands and scripts at a scheduled time. Scripts that work fine when you run them interactively but fail when you schedule them typically do so for one of three reasons. First, the script might be running in a user context that doesn't have permissions to the resources the script is accessing. The Task Scheduler lets you specify a user account for each script. The old At or WinAt scheduler doesn't provide an easy way to specify a user account.

The second reason for failure is that the user environment variables might not be available to scripts running as scheduled tasks. If you use the %temp% variable (a common user variable) in a script, the script might fail when you run it as a scheduled task. Listing 1 shows a sample test script with user variables. Try running this both interactively and as a scheduled task; you'll notice that the %temp% variable might not be accessible when you run the script under the scheduler.

The third possibility for script failures is drive-mapping problems. The Task Scheduler doesn't run the user's logon script, so any drive mappings or other configurations that a typical logon supplies aren't available in a scheduled task unless you explicitly include them. If you use the Net Use command to map drives in your script, you must use

NET USE /D

to disconnect the drive because drives mapped in a script don't always disconnect gracefully. Typically, it's easier and safer to use Uniform Naming Convention (UNC) paths to connect to resources.

End of Article




You must log on before posting a comment.

If you don't have a username & password, please register now.

Reader Comments

Does anyone know how to export scheduled task from a windows 2000 server to another?

Ray Garcia

You can use explorer to copy the Tasks. Explore to c:\winnt\tasks and you can drag and drop it to another mapped machine. Alternatively can copy the jobs using the copy command at a dos prompt. The jobs have the suffix .job and exist in the c:\winnt\tasks directory.

Raj Upadhyaya

Have been unable to map Network drives useing task scheduler from a termainal server to a window 2000 file server. I always get the following error in the log files created.: "System error 85 has occurred. The local device name is already in use. "

The command used is as follows: net use j: \\afserver\datadrv /yes /persistent:no 2>c:\errordrive.txt 1>c:\testdrive1.txt

Either deleting the mapping manually through exporer, a interative batch file, or through the schedule prior to running the command under the schedular produces the same out put.

Can anyone help me?

Timothy Butterfield

Please send some logon script

aslam

Does anybody know how to make a scheduled task via a script, i mean i want to run a vbs or any kind of script to schedule 4 tasks every day

Daniel