Windows 7 – Problems scheduling a task on windows7

I have trouble to schedule a task I wrote.

Basically I created a .bat file which executes an R script (script.R). When I double click the .bar file, it gets executed. I can see a result file and also some kind of log file in script.Rout.

When I try to run everything in the scheduler I have problem to get it to run. When I click on Run to run my task, the task produces several entries in the History tab which shows my task starts, and also ends in the same second. So basically nothing gets executed.

Where can I check what problem occurs? My script writes some output which is located within this .Rout file but this is not created with the task scheduler.

I already added my user to the policy settings to schedule task and also by editing the task, windows does not complain, I think this is not the issue.

Would love to get some help to find the problem.

EDIT:

I realised now, my task is running as long I do not select Execute task whether user is logged in or not. If I switch to this setting, my script does not get executed. Is there maybe some security issue?

Solution:

Task Scheduler Scheduled Batch Script Not Running Check

Task Scheduler Properties. . .

From Windows Task Scheduler on the job properties (see bottom most screen shots) in the. . .

  • 1. General tab, ensure that the below options are select/checked or unchecked just as shown in Print Screen A

    • Uncheck Run only when user is logged on
    • Check Run whether user is logged on or not
    • Check Run with the highest privileges
  • 2. Conditions tab, ensure that the below options are select, checked, or unchecked just as shown in Print Screen B

    • Check Wake the computer to run this task
  • 3. Actions tab, click Edit, and enure that the Start in (optional) is set just as shown in the below example (DO NOT put double quote marks around it) for the full path pointing where the batch script is located WITHOUT a final backslash “Print Screen C


Security Considerations

  • Once you press OK (2. above) it should prompt you for the credential to run this as, and that credential is what will need access to EXECUTE the batch file where it exist, and it will also need access to do whatever the batch file is running that you scripted out.  

  • It may be best to setup a static service/proxy user account for this process and then use its credentials to run the process. You’d need to ensure its password is strong and it set to never expire—and it needs access to EXECUTE the batch and run whatever the batch scripted process is running and any commands and resources, ect. it utilizes as well.

  • It seems the option Run whether user is logged on or not you MUSTcheck the option Run with highest privileges for it to actuallyrun as expected from the Task Scheduler.

Error Checking

  • If there is an issue with the actual batch script but the Windows TaskScheduler actually does execute it to run it but the batch scriptlogic errors out, etc. for whatever reason, the Task Scheduler maynot see this failure at this level. From its perspective (by default most of the time), it’sexecuting the batch file so as long as it can execute it and hasaccess to do so, its job is done successfully.

  • Add error checking or logging to the batch script logic to catch (or troubleshoot) issues at this level including ensuring that the security context which the batch scheduler executes it as has appropriate access to commands, resources, etc. which the batch script runs as.


Group Policy Considerations

CHECK GROUP POLICY AND LOG ON AS A BATCH JOB PERMISSIONS

 

Answer: On Windows, this privilege is granted through the Local or Domain Security Policy. To do this using the Local Security Policy,  follow these steps.

   

     

  1. In the Control Panel, open Administrative Tools, then Local Security  Policy.
  2.  

  3. Beneath Security Settings, open Local Policies and highlight User  Rights Assignment.
  4.  

  5. Locate Log on as a batch job. Open the properties and add any users  that need this right.
  6.  

  7. When finished, save your changes and close the Local Security  Settings window.
  8.  

   

Your changes should take effect immediately. To make changes to the  Domain Security Policy, on a domain controller, use the Domain  Security Policy utility in the Control Panel


Batch Script Logic with Mapped Drives or Full UNC Path, and issues. . .

If your script is referencing a mapped network drive but you want it to Run whether the user is logged on or not, then under this context, the drive mapping may not actually be there for the batch process to do what’s expected.

If possible, use UNC paths in your batch script logic rather than a mapped drive letter to avoid issues.  Otherwise, you may need to use PUSHD \ServerNameShareName at the beginning of the batch process and then use POPD at the end of the batch process. You could map the drive with NET USE X: \ServerNameShareName at the beginning of the batch process and then disconnect the drive with NET USE X: /DELETE at the end of the batch process.


OTHERS

  • MS HOTFIX (KB977353): Group Policy Immediate Task preference item does not run on a client computer that is running Windows 7 or Windows Server 2008 R2

PRINT SCREENS

Print Screen A

enter image description here

Print Screen B

enter image description here

Print Screen C

enter image description here