I am looking at consolidating all of our scheduled tasks that run on various servers (Win 2008 R2) within our domain on to one "Task Scheduling Server". I am a developer so I'm not even sure if this is a good idea or just a maintenance headache. One of our Network guys copied some of the tasks I monitor over to the new server and asked me to test them.
The main issue seems to be getting the application the task is trying to run, to run on the remote server rather than on the server that the task is scheduled on. The errors I am seeing are things like referenced dll's not being found. When I check the assembly the dll exists on the remote server but not on the Scheduling server. This makes me think that even though I have the "Start in" field filled in it isn't really starting in that location.
My settings on the edit Actions dialogue in this case are as follows -
Program/Script: \\server1\c$\some\long\path\myExe.exe Add arguments (optional): arg1 arg2 Start in (optional): \\server1\c$\some\long\path
Another example I have is with a batch file, and even with the "Start In" value set if I have relative paths in the script the paths are not found. If I change the paths to absolute paths it all works. In a batch file for example -
dir .\update /b /on >> ..\logs\logdir.txt
gets a invalid path error where as
dir \\server1\c$\my\path\update /b /on >> \\server1\c$\my\logs\logdir.txt
does work.
So my technical question is - how do it get the exe (and the batch file) to run on the remote server? And my network admin question is - is this a good way to manage scheduled tasks or is it better to have the schedules located on the same server as that which is doing the processing?