Server 2008 R2 (completamente 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 obtengo el siguiente error:
El Programador de tareas no pudo iniciar la instancia "{fe0f148a-cece-44a0-a4d1-914aaf21daa8}" de la tarea "\ Mover archivos temporales" para el usuario "FOOBOX \ Administrator". Datos adicionales: Valor de error: 2147942402
¿Alguna idea de por qué está sucediendo 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 inició sesión como si no. Falla en ambos escenarios: los mismos errores.
- La tarea está configurada para ejecutarse para el sistema operativo local (Windows Server 2008)
- El comando se divide en dos partes. Programa / script:
move
Agregar 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 estoy perdiendo?
Respuestas:
Como señaló Ryan Ries, 2147942402 se traduce como "Archivo no encontrado", que es una respuesta muy apropiada. Intente y presione Win + R, ponga "mover" y presione enter - ese es el equivalente interactivo de lo que su tarea no está haciendo.
La razón es que
MOVE
no es un programa, sino un comando nativocmd
.Debería ser:
Programa:
"cmd.exe"
Argumentos:
"/c move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\"
fuente
La razón es: la tarea está configurada para ser eliminada cuando no está programada para ejecutarse nuevamente. Esto se configura en la pestaña Configuración. La eliminación de la tarea se realiza en el momento de vencimiento del disparador que dispara la tarea. Si el tiempo de caducidad del disparador es exactamente el mismo que el tiempo de inicio del disparador, puede ocurrir (por cierto) que la Tarea se elimine unos segundos antes de que se dispare su disparador. Esto provoca el evento 101 con el código de razón 2147942402. La solución es establecer el tiempo de caducidad del disparador 1 minuto más tarde que el tiempo de inicio del disparador.
fuente
Tal vez sea el problema de los espacios en blanco en el ejemplo de la línea de orden:
C: \ Archivos de programa \ Wireshark \ Wireshark.exe -i1 -k FALLA
"C: \ Archivos de programa \ Wireshark \ Wireshark.exe" -i1 -k OK
fuente