Estoy enfrentando un problema extraño. He programado una tarea para lanzar un archivo por lotes. Cuando ejecuto la tarea con opción, Run only when user is logged on
todo funciona bien. pero quiero ejecutar esta tarea en segundo plano y por lo tanto estoy funcionando utilizando la opción Run whether user is logged on or not
. Ahora cuando ejecuto la tarea no funciona. Recibo los siguientes 2 errores. No entiendo este error. Por favor ayúdeme a resolver esta situación.
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.
Respuestas:
Tuve el mismo problema.
La solución para mí se encontró en el artículo KB Microsoft 2452723:
Las tareas programadas de Windows Vista en adelante no se ejecutan si la ruta en el campo "Iniciar en (Opcional)" tiene comillas
Básicamente, edite su tarea programada y saque las Cotizaciones del campo Iniciar en:
Para obtener el mensaje de error relevante:
1) Convertir 2147942667 a hexadecimal: 8007010B
2) Tomar los últimos 4 dígitos (010B) y convertir a decimal: 267
3) Ejecutar: net helpmsg 267
4) Resultado: "El nombre del directorio no es válido".
fuente
Run whether user is logged on or not
, estaba usando un usuario diferente para ejecutar la aplicación. Este nuevo usuario no tenía los permisos adecuados para leer los datos y, por lo tanto, el error. Gracias."C:\Some Path\"
, eso está mal porque tiene comillas. Necesita decir `C: \ Some Path` (sin comillas).Para mí fue "Iniciar en": copié los valores de un servidor anterior y actualicé la ruta a la nueva ubicación .exe, pero olvidé actualizar la ubicación "iniciar en"; si no existe, usted obtener este error también
Citando el comentario de @ hans-passant de arriba, porque es valioso para depurar este problema:
fuente
Esto puede suceder por más de una razón. En mi caso, esto sucedió debido a un problema de permisos. El usuario que ejecutaba la tarea no tenía permiso para escribir en el directorio de registros, por lo que falló con este error.
fuente
Tuve el mismo problema, en Windows7.
Recibía el error 2147942667 y un informe de no poder ejecutar c: \ windows \ system32 \ CMD.EXE. Intenté con y sin comillas dobles en el Script y Start-in y no hizo ninguna diferencia. Luego intenté reemplazar todas las referencias de ruta a unidades de red asignadas y con referencias UNC (\ Server1 \ Sharexx \ my_scripts \ run_this.cmd) y eso me lo arregló. Palmadita.
fuente
Para obtener una respuesta más genérica, convierta el valor de error en hexadecimal, luego busque el valor hexadecimal en Error de programador de tareas de Windows y Constantes de éxito
fuente
2147942667
a HEX:0x8007010B
. Ese valor no aparece en el enlace que proporcionó. Solo para tu información, por supuesto.2147942667 in hex
. Google es una calculadora ahora también.Para mí fue el "Iniciar en": accidentalmente dejé en '.py' al final del nombre de mi programa. Y olvidé poner en mayúscula el nombre de la carpeta en la que estaba ('Aplicaciones').
fuente
Para mí, esto se debió a la variable de entorno PATH del usuario, que no parecía funcionar a pesar de que el usuario era correcto, por lo que necesitaba poner toda la ruta ejecutable en el campo del programa.
fuente