PROGRAMA DE TAREAS: EL PROGRAMA DE LOTES PROGRAMADO NO CORRE
Propiedades del programador de tareas. . .
Desde Windows Task Scheduler
en el trabajo Properties
(ver abajo la mayoría de las capturas de pantalla) en. . .
1. General
pestaña, asegúrese de que las siguientes opciones estén seleccionadas / marcadas o desmarcadas tal como se muestra en la pantalla de impresión A
- Desmarcar
Run only when user is logged on
- Cheque
Run whether user is logged on or not
- Cheque
Run with the highest privileges
2. Conditions
pestaña, asegúrese de que las siguientes opciones estén seleccionadas , marcadas o desmarcadas tal como se muestra en la Pantalla de impresión B
- Cheque
Wake the computer to run this task
3. Actions
tabule, haga clic Edit
y asegúrese de que Start in (optional)
esté configurado tal como se muestra en el siguiente ejemplo ( NO ponga comillas dobles a su alrededor) para la ruta completa que señala dónde se encuentra el script por lotes SIN una barra invertida final " \
" Imprimir pantalla C
CONSIDERACIONES DE SEGURIDAD
Una vez que presione OK
( 2. arriba), debería solicitarle la credencial para ejecutar esto, y esa credencial es lo que necesitará acceso al EXECUTE
archivo por lotes donde exista, y también necesitará acceso para hacer lo que sea que esté ejecutando el archivo por lotes que escribiste.
Puede ser mejor configurar una cuenta de usuario de servicio / proxy estático para este proceso y luego usar sus credenciales para ejecutar el proceso. Debería asegurarse de que su contraseña sea segura y esté configurada para que nunca caduque, y necesita acceso al EXECUTE
lote y ejecutar lo que sea que esté ejecutando el proceso por lotes y cualquier comando y recursos, etc. Se utiliza también.
Parece que la opción Run whether user is logged on or not
DEBE marcar la opción Run with highest privileges
para que realmente se ejecute como se espera del Programador de tareas.
Comprobación de errores
Si hay un problema con el script por lotes real, pero el Programador de tareas de Windows realmente lo ejecuta para ejecutarlo, pero la lógica del script por lotes falla , etc. por cualquier razón, el Programador de tareas puede no ver este error en este nivel. Desde su perspectiva (por defecto la mayor parte del tiempo), está ejecutando el archivo por lotes, por lo que siempre que pueda ejecutarlo y tenga acceso para hacerlo, su trabajo se realiza con éxito.
Agregue la comprobación o el registro de errores a la lógica del script por lotes para detectar (o solucionar ) los problemas a este nivel, lo que incluye garantizar que el contexto de seguridad en el que el programador por lotes lo ejecute tenga el acceso adecuado a los comandos, recursos, etc.
Consideraciones de política de grupo
COMPRUEBE LA POLÍTICA DEL GRUPO E INICIE SESIÓN COMO PERMISOS DE TRABAJO POR LOTES
Respuesta: En Windows, este privilegio se otorga a través de la Política de seguridad local o de dominio . Para hacer esto usando la Política de seguridad local , siga estos pasos.
- En el Panel de control , abra Herramientas administrativas , luego
Política de seguridad local .
- Debajo de Configuración de seguridad , abra Políticas locales y resalte Asignación de derechos de usuario .
- Busque Iniciar sesión como un trabajo por lotes . Abra las propiedades y agregue los usuarios que necesiten este derecho.
- Cuando termine, guarde los cambios y cierre la ventana de Configuración de seguridad local .
Sus cambios deben tener efecto de inmediato. Para realizar cambios en la Política de seguridad de dominio, en un controlador de dominio, use la utilidad Política de seguridad de dominio en el Panel de control
Lógica de secuencia de comandos por lotes con unidades asignadas o ruta completa de UNC, y problemas. . .
Si su secuencia de comandos hace referencia a una unidad de red asignada pero lo desea Run whether the user is logged on or not
, entonces, en este contexto, la asignación de unidad puede no estar allí para que el proceso por lotes haga lo que se espera.
Si es posible, use UNC
rutas en su lógica de secuencia de comandos por lotes en lugar de una letra de unidad asignada para evitar problemas. De lo contrario, es posible que deba usarlo PUSHD \\ServerName\ShareName
al comienzo del proceso por lotes y luego usarlo POPD
al final del proceso por lotes. Puede asignar la unidad NET USE X: \\ServerName\ShareName
al comienzo del proceso por lotes y luego desconectar la unidad NET USE X: /DELETE
al final del proceso por lotes.
OTROS
MS HOTFIX (KB977353): el elemento de preferencia de tarea inmediata de directiva de grupo no se ejecuta en un equipo cliente que ejecuta Windows 7 o Windows Server 2008 R2
Mire la Settings
pestaña de la tarea programada y la opción listada como Stop the task if it runs longer than:
. Si esta opción está marcada y el período de tiempo es inferior al de un script que se está ejecutando, el Programador de tareas lo eliminará antes y, por lo tanto, es posible que no obtenga los resultados esperados. Esto es algo más que debe verificar al solucionar problemas por si acaso.
Desde la Triggers
pestaña de la tarea programada cuando seleccione la Edit
opción, asegúrese de establecer que la Start:
hora y la fecha tengan un valor que NO haya pasado ya. Asegúrese de que esta tenga la fecha y la hora establecidas en un valor en el futuro . De lo contrario, puede observar que el trabajo indica que está programado para ejecutarse en la próxima hora programada como era de esperar; sin embargo, el Programador de tareas no lo ejecuta ni la pestaña Programador de tareas History
muestra que alguna vez se ejecutó (porque no lo es). Simplemente edite el activador y actualícelo con una fecha y / o hora futura para resolver este problema si lo está experimentando.
IMPRESIÓN DE PANTALLAS
Imprimir pantalla A
Imprimir pantalla B
Imprimir pantalla C