Link to home
Start Free TrialLog in
Avatar of iamuser
iamuser

asked on

Scheduling a bat file to run with task scheduler not working

I created a bat file that calls up a VB script that checks whether a a specific server service is up or not. The script also sends an email to us on whether it's up or not.

This is in my bat file = CSCRIPT monitor.vbs LOCALHOST "server service"

The bat and VB script runs fine. No errors and i get the emails generated. However I can't seem to get the bat file to work with task scheduler at all.

No emails are being generated. It should even when the service is running. I thought maybe it was my bat file causing problems.  I removed the bat file and just tried to use task scheduler to open a notepad. I hit run in task scheduler and the 'history' shows that it did but I did not see notepad open up at all.

I don't care about note pad not working but i do need my bat file to run. what am I missing?
Avatar of AnthonyHamon
AnthonyHamon

Try using the full path to the monitor.vbs script.

Regarding your test with Notepad, by default a scheduler job runs under the LOCALSYSTEM account, so it is normal that you do not see the Notepad window.
A few things:

1.  Are you set to run it with highest privileges in the the task scheduler options?
2. What user are you running it as?
3.  Is it set to run in Interactive Mode?

These are a few initial things to check.
Avatar of iamuser

ASKER

I will try the full path

1. highest privilege box checked
2. domain admin
3. run whether user is logged on or not
Then as the other author posted, I would try the full path AND specify the startup folder as well.
For debugging purposes, change your script to generate a log file. Then you can check the log file to monitor the status of the job. I leave this kind of logging in several of my scripts so I can easily review what my script did days after the fact. For example,

Echo %date% %time% About to do XYZ step >> C:\Logs\job1.log

Open in new window

Avatar of iamuser

ASKER

so you added the log line to the end of your script. And you script still ran or did you just have the script log to a file ?
Put those echo commands anywhere in your script where you want to check something. For example, put it at the very beginning to confirm that the script starts, and/or put it before Step 4 to confirm that the script gets to that point in your script. Sometimes I even put an echo command as the very last line of my script so that I know that it "ended normally." During development, I may add/remove several echo commands just to confirm that it runs.
ASKER CERTIFIED SOLUTION
Avatar of iamuser
iamuser

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Seth Simmons
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.