33 votos

¿Qué causa el error 2147942402 de la Tarea Programada?

Windows Server 2008 R2 (totalmente parcheado)

Estoy tratando de ejecutar una tarea programada para mover un tipo específico de archivos de C:\Windows\Temp a E:\Foo_blah_blah_blah_blah\Foo2 y por alguna razón estoy recibiendo el siguiente error:

El programador de tareas no pudo iniciar la instancia "{fe0f148a-cece-44a0-a4d1-914aaf21daa8}" de " \Move Tarea "Temp Files" para el usuario "FOOBOX \Administrator ". Datos adicionales: Valor del error: 2147942402

¿Alguna idea de por qué ocurre esto?

Detalles adicionales:

  • La tarea está configurada para ejecutarse como una cuenta que tiene autoridad para mover el archivo.
  • La tarea está configurada para ejecutarse tanto si el usuario está conectado como si no. Falla para ambos escenarios - los mismos errores.
  • La tarea está configurada para ejecutarse en el sistema operativo local (Windows Server 2008)
  • El comando se divide en dos partes. Programa/script: move Añadir argumentos: C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\

Si ejecuto este mismo comando move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\ desde el símbolo del sistema de Windows, funciona bien.

¿Qué me falta?

9 votos

Bueno, si conviertes 2147942402 en hexadecimal, obtienes 0x80070002, que significa "Archivo no encontrado".

49voto

Mathias R. Jessen Puntos 16911

Como señaló Ryan Ries, 2147942402 se traduce en "Archivo no encontrado" - que es una respuesta muy apropiada. Prueba a pulsar Win+R, poner "mover" y pulsar enter - eso es el equivalente interactivo de lo que tu tarea está fallando.

La razón es que MOVE no es un programa, sino un comando nativo en cmd .

Debería serlo:

Programa: "cmd.exe"
Argumentos: "/c move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\"

2voto

Garnet Ulrich Puntos 2996

La razón es: la Tarea está configurada para ser eliminada cuando no está programada para ejecutarse de nuevo. Esto se configura en la pestaña de Configuración. La eliminación de la Tarea se realiza a la hora de expiración del Disparador que dispara la Tarea. Si la hora de expiración del activador es exactamente la misma que la hora de inicio del activador, puede ocurrir (casualmente) que la Tarea se elimine unos segundos antes de que se dispare su activador. Esto provoca el evento 101 con código de razón 2147942402. La solución es establecer la hora de expiración del disparador 1min después de la hora de inicio del disparador.

1voto

FranK Puntos 1

Con Powershell, especifique la ruta completa en el comando, así C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

0 votos

El OP no está usando PowerShell en su acción de tarea programada.

1voto

Philip Knowles Puntos 1

Después de recorrer varios agujeros de conejo, descubrí que el problema era que Windows no podía encontrar powershell.exe (???). Poniendo la ruta completa a powershell en el campo de programa se solucionó.

0voto

rich p Puntos 101

La respuesta que publicó Matthias me ayudó a resolver mi problema.

Había puesto toda la línea de comandos en el campo "Programa", la ruta y los argumentos juntos; no me había dado cuenta de que había un campo de entrada "Argumentos" separado. Cuando separé los argumentos y los introduje por separado, mi tarea programada se ejecutó como un campeón.

Diagnóstico: El SO estaba buscando un programa llamado "C:\bin\someprog.BAT connect keep" en lugar de buscar "C:\bin\someprog.BAT" e invocarlo con argumentos connect keep .

Error mío, ya arreglado.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X