jueves, 10 de septiembre de 2009

Comando AT y Schtasks, crear o ejecutar tarea programada en otro equipo




Como podemos ejecutar una aplicacion en otra maquina?

Como podemos recargar nuestra aplicacion Qlikview en un equipo que no es nuestro(local)?

bueno, encontre estos dos comando que me solucionaron el problema

el primero AT:

AT nos permite crear, ver y borrar tareas programadas en un equipo remoto
por ejemplo

AT \\HOST HORA /interactive Comando(tarea) a ejecutar

AT \\192.168.1.2 12:00 /interactive "C:\Program Files\QlikView\Qv.exe" /r C:\QlikView\recarga.qvw"

AT: es el comando que permite agregar una tarea programada en otro equipo
si ejecutamos AT en la consola nos listara todas las tareas que se han agregado a la maquina local.
si ejecutamos AT \\HOST nos listara las tarea del HOST

\\HOST: es el nombre o IP de la maquina a la que queremos agregar la tarea programada

12:00: es la hora en que se ejecutara la tarea programada

/interactive: nos permite ver en primer plano la aplicacion o la tarea que se esta ejecutando, si omitimos este parametro se ejecutara en segundo plano.

"C:\Program Files\QlikView\Qv.exe" /r C:\QlikView\recarga.qvw": es la tarea que necesito que se ejecute, que en este caso es realizar la recarga de la aplicacion "recarga.qvw".

AT tiene algunos inconvenietes:
necesitas los permisos adecuados para poder agregar tareas en otra maquinas
cuando agrega una tarea el propietario de la tarea es el sistema y esto fue un gran problema, pues Qlikview tiene sus licencia por cada usuario del equipo, por lo que cuando intentaba hacer la recarga me pedia ingresar la licencia para el usuario del sistema.

Solucion?

finalmente el comando AT lo tuve que sustituir por el comando Schtasks que nos permite ejecutar en ese minuto una tarea programada en un equipo remoto.

significa que primero debemos crear en la maquina remota, con el usuario valido para qlikview, una tarea programada que no se debe ejecutar nunca por si solo, sino que cuando se le hace una llamada.
Con el comando Schtasks podemos realizar esto:

SCHTASKS /run /S \\192.168.1.2 /TN "Qv"

lo que ejecutara en el host 192.168.1.2 la tarea programada llamada "Qv"

/run: realiza la ejecucion de una tarea programada

/S \\HOST: indica que se ejecutara en ese host, si se omite se ejecutara en la maquina local

/tn "Qv": indica que se ejecutara la tarea programada llamada "Qv"

el comando SCHTASKS reemplazó al comando AT
ademas permite la ejecucion de una tarea programada /run, ademas de crear, borrar, terminar.

para mas info de este comando en SCHTASKS


para mas info de comando AT en AT