Windows Task Scheduler Fails to Launch Tasks (Part 1)

We were recently contacted by one of our clients informing us that the Task Scheduler on one of the servers was acting strange. It seemed that the tasks themselves were firing off at the appropriate date/time however nothing was really happening at all in the background. The Task Scheduler was then returning a successful code indicating that everything was good.

As you can imagine, the troubleshooting for this issue was a little complicated as it was difficult to prove that Task Scheduler was indeed lying to us all along. We had to look into the action of these tasks in order to determine if the Task Scheduler had run them or not. You may have to dig into what each of the tasks does in order to properly determine if the Task Scheduler is not running the tasks as expected. If you are suspicious that this is the case, or know for sure that the tasks are not firing then the rest of this guide may prove helpful to you.

Here is our Task Scheduler in action. As you can see there are a few tasks that are set to run and some have already ran previously.

Screenshot_1

Figure 1.1: Displaying the Task Scheduler window. Click image to enlarge.

The ones that have already ran have a time on the “Last Run Time” column. It was here that we were prompted with a time on our tasks that have supposedly ran but in reality they haven’t. If you scroll toward the right, you will also see many “The operation completed successfully (0x0)” under the “Last Run Result” column.

Screenshot_2

Figure 1.2: Displaying the Task Scheduler and associated task run results. Click image to enlarge.

My first instinct was to check the Event Viewer to confirm that the Task Scheduler was not running properly. I did not notice anything out of the ordinary besides the fact that none of the task actions were listed anywhere. This confirmed that there must be something interfering with the Task Scheduler from running properly. After doing some research on this issue, it seemed that it was a common problem among system administrators. I have provided some helpful links at the bottom of this blog.

One of the main culprits regarding this issue is that the Task Scheduler has a hard time co-existing with the WinSOXE service which is the Windows Live Social Object Extractor Engine. Usually this service gets loaded onto your computer whenever you install Windows Live Essentials. Our client’s server recently had this package installed to be used as their mail service.

When WinSOXE is installed, it creates a task called the “Extractor Definitions Update Task” in the Task Scheduler LibraryMicrosoftWindows LiveSOXE folder.

Screenshot_3

Figure 1.3: Displaying the Extractor Definitions Update Task within Task Scheduler. Click image to enlarge.

The interaction of this task can cause other tasks to delay or not run at all. The solution here was to disable this task by right-clicking on the “Extractor Definitions Update Task” and selecting “Disable.” Some of the tasks that were “hung” or failed to initialize, started almost immediately after disabling the SOXE task*.

The next step was to resolve a problem within Task Scheduler that was causing issues with the history logs. I will continue this discussion in Part 2 of this article.

Here are some articles and points of reference discussing Part 1:

https://support.microsoft.com/en-us/kb/2764700

https://social.msdn.microsoft.com/Forums/windowsserver/en-US/6fa3c7fa-511b-498d-9b37-1201e1ff2e59/task-scheduler-on-sbs-2008

http://serverfault.com/questions/391913/all-tasks-in-the-task-scheduler-stop-triggering-until-i-restart-the-server-w-se

http://blogs.technet.com/b/asiasupp/archive/2011/03/16/scheduled-task-is-not-running-until-every-sunday-at-a-specific-time.aspx

*= In order for a task to start immediately after a failure, you will need to launch the task’s properties, navigate to the Settings tab and ensure that the checkbox beside “Run task as soon as possible if a scheduled start is missed” is selected. If not, a manual start or simply waiting for the next initiation will cause the task to run again.