Publicado en Microsoft, Tecnología

Ejecutar un BAT desde el Programador de Tareas de Windows Server 2008 R2

Tienes un BAT que realiza justo las tareas que necesitas sin un software externo, y quieres programarlo para que se ejecute en un Windows Server 2008 R2… pero no lo hace. El BAT está perfecto, lo lanzas desde consola y funciona sin problemas, pero a la hora en que le has puesto en el Programador de Tareas que se ejecute… no lo hace.

Bien, dependiendo lo que haga el BAT en cuestión, este problema puede ser de varias índoles. Sin embargo, si el BAT se ejecuta perfectamente y si estamos totalmente seguros de haber configurado bien el Programador de Tareas en cuanto a permisos, tiempos y demás, la solución la encontraremos en un parámetro que aparece como opcional pero no lo es: Iniciar en.

Así es amigos, es tan sencillo como ir a la pestaña «Acciones» y, además de poner el programa o script que vamos a ejecutar, en el campo «Iniciar en (opcional):» hay que escribir la ruta donde está el BAT que queremos ejecutar.

Si por ejemplo nuestro fichero BAT está en C:\scripts\prueba.bat, en el campo «Iniciar en» hay que poner C:\scripts

Tan fácil como imposible de adivinar. Microsoft una vez más luciéndose. Ese opcional…

Si tampoco se ejecuta con eso, tu problema seguramente sea de permisos. En la pestaña «General» selecciona «Ejecutar tanto si el usuario inició sesión como si no» y «Ejecutar con los privilegios más altos». Al aceptar nos pedirá las credenciales del usuario y listo.

ACTUALIZACIÓN: Me han preguntado mucho al respecto del siguiente error:

El Programador de tareas no pudo iniciar la acción "C:\Windows\SYSTEM32\cmd.exe" n la instancia "{7e37057d-42e1-4d5b-bc76-936eb69e6e6d}" de la tarea "\TareaDePrueba". Datos adicionales: valor del error: 2147942667.

Esto ocurre porque si la ruta del BAT tiene espacios, por ejemplo: C:\Ejecutables BAT\prueba.bat, en el campo «Programa o script» probablemente pongas la ruta con comillas («), pues bien, en «Iniciar en» debes poner C:\Ejecutables BAT sin las comillas. Con eso funciona perfectamente.