why windows 7 task scheduler task fails with error 2147942667
Windows 7Scheduled TasksWindows 7 Problem Overview
I am facing a strange problem. I have scheduled a task to lauch a batch file. When I run the task with option Run only when user is logged on
everything works fine. but I want to run this task in background and hence i am running it using the option Run whether user is logged on or not
. Now when i run the task it is not working. I get following 2 errors. I don't understand this error. Please help me resolve this issue.
Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667.
Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon" task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667.
Windows 7 Solutions
Solution 1 - Windows 7
I had this same issue.
The solution for me was found in the Microsoft KB Article 2452723:
Basically, edit your scheduled task and take the Quotes out of the Start In field:
- Open your Scheduled Task
- Switch to "Actions" tab
- Open your Action
- Remove Quotes (") from the field "Start in (optional)"
- Save and close all open dialogs
To get the relevant error message:
- Convert 2147942667 to hex: 8007010B
- Take last 4 digits (010B) and convert to decimal: 267
- Run: net helpmsg 267
- Result: "The directory name is invalid."
Solution 2 - Windows 7
For me it was the "Start In" - I copied the values from an older server, and updated the path to the new .exe location, but I forgot to update the "start in" location - if it doesn't exist, you get this error too
Quoting @hans-passant 's comment from above, because it is valuable to debugging this issue:
> Convert the error code to hex to get 0x8007010B. The 7 makes it a > Windows error. Which makes 010B error code 267. "The directory name is > invalid". Sure, that happens.
Solution 3 - Windows 7
This can happen for more than one reason. In my case this happened due to a permissions issue. The user that the task was running as didn't have permission to write to the logs directory so it failed with this error.
Solution 4 - Windows 7
I had the same problem, on Windows7.
I was getting error 2147942667 and a report of being unable to run c:\windows\system32\CMD.EXE. I tried with and without double quotes in the Script and Start-in and it made no difference. Then I tried replacing all path references to mapped network drives and with UNC references (\Server1\Sharexx\my_scripts\run_this.cmd) and that fixed it for me. Pat.
Solution 5 - Windows 7
For a more generic answer, convert the error value to hex, then lookup the hex value at Windows Task Scheduler Error and Success Constants
Solution 6 - Windows 7
For me it was the "Start In" - I accidentally left in the '.py' at the end of the name of my program. And I forgot to capitalize the name of the folder it was in ('Apps').
Solution 7 - Windows 7
For me, this was due to the user PATH environment variable, which didn't seem to work even though the user was correct, so I needed to put the entire executable path into the program field.
Solution 8 - Windows 7
For us, it was a missing ':' in the 'start in' path.