5 votos

¿Tareas programadas como salida de un correo electrónico?

En sistemas Unix, el servicio de la tarea programada por correo electrónico cualquier salida que produce una tarea programada. Si no se produce ninguna salida, ningún correo electrónico se envía. ¿Cómo puedo hacer lo mismo en Windows Server 2003 o 2008? ¿Hay una manera de llamar a un archivo por lotes o ejecutable se ejecute mi tarea, capturar la salida y por correo electrónico sólo si hay salida?

Si te propones una solución de PowerShell, tenga en cuenta que sólo tengo PowerShell 1.0.

1voto

DaffyDuc Puntos439

Utilizar autoIT para este tipo de cosas. Es muy fácil de usar y cuenta con esta funcionalidad integrada. Los archivos de ayuda están llenos de ejemplos y snipits que hacer exactamente lo que buscas. Si tuviera más detalles acerca de la tarea a mano tendría una respuesta más concreta.

Usted debe ser capaz de localizar lo que necesita aquí.

0voto

T. Fabre Puntos205

Al menos en Windows Server 2008, puede utilizar la siguiente ruta :

  1. Configurar su tarea periódica usando el programador de tareas. Si usted necesita para capturar la salida de su programa, estoy asumiendo que es un programa de línea de comando. Usted puede redirigir la salida del comando en la línea de comandos de Windows a un archivo igual que en los sistemas Unix. Por eso, me gustaría escribir un lote que se ejecuta mi comando y la captura de su salida:

    @ECHO OFF
    REM Run command
    mycmd.exe > outfile.txt
    
    REM Check that outfile exists
    IF NOT EXIST outfile.txt (
        @echo File does not exist
        exit 2
    )
    
    REM Compare outfile to a known empty file
    TYPE nul >  blank.txt
    FC outfile.txt blank.txt > nul
    
    REM Check result, and remove blank file.
    IF errorlevel 1 (
        del blank.txt
        @echo File is not empty
        exit 0
    ) ELSE (
        del blank.txt
        @echo File is empty
        exit 1
    )
    
  2. Las tareas programadas se registran en las Aplicaciones Y los Servicios de Registro de Eventos, en virtud de Microsoft > Windows > Programador de Tareas > Operativo.

    A continuación, puede crear una segunda tarea que obtiene produce cuando se agrega una entrada en dicho registro.

    Tienes que configurar la acción del gatillo en consecuencia. Lo que usted necesita hacer es crear un filtro de eventos en 201 eventos (Acción terminó), cuyas tareas nombres coincidan con el nombre de la tarea que se ejecuta la secuencia de comandos anterior, y cuyo código de resultado es 0. Debe ser posible la instalación con el programador de tareas de la interfaz de usuario, o puede utilizar XPath filtrado.

    A continuación, configure la acción de la tarea para "Enviar un mensaje", y establece lo params usted necesita. Establecer el nombre del archivo adjunto a la ruta de outfile.txt y listo.

  3. Usted puede utilizar la misma técnica para controlar los códigos de retorno 1 y 2, para advertir de un vacío o falta outfile si es necesario.

Muy fácil, ¿no ? :D me Hace el amor Linux más y más cada día.

Editar Si usted tiene un programa de correo que funciona desde la línea de comandos, usted puede simplemente llamar desde el script que se ejecuta el comando, eliminando la necesidad de crear el evento basado en la tarea.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: