La tarea programada falla, pero funciona bien cuando se activa manualmente

La tarea programada falla, pero funciona bien cuando se activa manualmente

Tenemos un servidor 2008 R2 con una tarea programada que ejecuta un archivo .bat que ejecuta una llamada a una aplicación Java. La tarea se activa bien, pero deja de ejecutar nada después de crear el archivo de registro. Aquí están los detalles sobre cómo está configurado:

  • Se ejecuta en una cuenta de nivel de usuario creada específicamente para la tarea y que tiene permisos configurados para iniciar sesión como trabajo por lotes.

  • Estos son los dos pasos que el archivo por lotes es capaz de ejecutar (el segundo es el que se cuelga):

cd E:\CLIENT_DB\WS_Client\bin\

java -Xms256m -Xmx512m -XX:MaxPermSize=512m -cp ..;..\*;..\certs;..\config;..\client;..\client\*;..\lib\*;..\lib\axis2\* WsClientStarter update > E:\CLIENT_DB\Logs\WSCLIENT_LOG_%DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4%.txt
  • La primera acción del cliente Java es utilizar la utilidad log4j para crear un registrador con la clase de cliente como argumento. Esto parece tener éxito porque obtenemos un archivo de registro en blanco con el nombre de archivo indicado en la llamada por lotes anterior. Este es el comando específico:

private static final Logger logger = Logger.getLogger(WsClientRunner.class);

  • Luego, el cliente inicia la función principal y lee el argumento de 'actualización' para determinar el modo de ejecución, luego continúa según lo programado.

Esta es mi pregunta:¿Existen políticas de seguridad u otros procesos que puedan interferir con esto cuando se ejecuta como un trabajo por lotes en lugar de ser iniciado por el usuario (es decir, al hacer doble clic en el archivo por lotes)?

Dado que el cliente Java parece funcionar bien cuando se ejecuta por sí solo, incluida la escritura de resultados en el archivo de registro, no creemos que sea necesariamente algo relacionado con el cliente Java, pero si no tienen respuestas, les responderé. consulte con la gente de StackOverflow a continuación.

Respuesta1

Verifique si en el cuadro Configurar para, se elige Windows 7, Windows Server 2008 R2 para el sistema operativo.

Además, debe ingresar Inicio en la carpeta en la pestaña Acción de las propiedades de la Tarea, aunque es opcional.

Tal vez esto ayude; Me ayudó con un problema similar.

Respuesta2

También tuvimos este problema. Resulta que las credenciales ingresadas para ejecutar la tarea programada eran diferentes a las utilizadas para ejecutar manualmente el script. Otros artículos que encontré también apuntaban a un problema de permisos.

Cuando al ID utilizado para ejecutar la tarea se le otorgaron permisos de administrador local, el trabajo programado funcionó. Luego probamos colocar el perfil en grupos de seguridad locales más bajos hasta que encontramos el que tenía menor acceso y que aún permitía que el script se completara exitosamente.

información relacionada