Lo siguiente son ejemplos de usos del filtro sencillo:
Configure una acción que ejecute un comando cuando un dispositivo cumpla los requisitos del filtro. Por ejemplo, cree una carpeta que contenga sólo impresoras con un cómputo de páginas superior a 10.000. Cuando el cómputo de páginas de una impresora controlada supera las 10.000, se agrega a la carpeta.
Controle sólo impresoras con un dispositivo flash instalado. Por ejemplo, si una carpeta contiene sólo las impresoras con un dispositivo flash instalado y se desinstala un dispositivo flash de una impresora controlada, se elimina de dicha carpeta. El filtro actualiza automáticamente la carpeta si la impresora no encuentra los requisitos del filtro.
Use la opción "con un retraso de" para retrasar la ejecución de una acción durante un tiempo especificado después de que se agregue el dispositivo de una carpeta o de que se elimine de la misma.
Elija el filtro "Desencadenar activo" para configurar una acción de tal manera que sólo ejecute un comando cuando se active una condición. Por ejemplo, si va a controlar el evento Falta bandeja de papel y alguien retira una bandeja de una impresora controlada, la impresora genera un evento Falta bandeja de papel con el estado Activo. El estado Activo cumple la condición del filtro y se ejecuta la acción especificada. Cuando se sustituye la bandeja de papel, la impresora genera otro evento Falta bandeja de papel con el estado Borrado. El estado Borrado no cumple la condición del filtro y no se ejecuta la acción especificada.
Seleccione el filtro Desencadenar activo o borrado si desea definir la acción para que se ejecute cada vez que una condición se vuelva activa o borrada. Por ejemplo, use el filtro para mantener un registro de todos los atascos de papel de la impresora para determinar el tiempo medio que se tarda en eliminar un atasco. Cuando se produce un atasco, la impresora genera un evento con el estado Activo. Esto cumple la condición del filtro y ejecuta la acción. Cuando se elimina el atasco de papel, la impresora genera otro evento con el estado Borrado. Este evento también cumple la condición del filtro y ejecuta la acción. Ahora habrá dos líneas en el archivo de registro, una con la hora a la que se produjo el atasco de papel y otra con la hora en la que se eliminó.
Use un filtro personalizado para definir cómo se ejecuta una acción. Suba un archivo script o escriba uno nuevo. MarkVision Messenger proporciona un lenguaje sencillo de script para definir filtros. A continuación, se proporciona una lista completa de instrucciones y condiciones que puede utilizar para escribir un filtro personalizado:
(Condition)
(Condition)
(Condition)
{ StatementList }
(Condition_1...Condition_n)
(Condition_1...Condition_n)
(key, value)
(key, value)
A continuación, aparece un ejemplo de representación de script del filtro "Desencadenar activo":
IfThen (EventDataIs("state", "ACTIVE"))
DistributeEl efecto de la condición es solicitar el evento para el valor de la palabra clave event.state. Esta palabra clave se puede insertar en líneas de comandos y mensajes de e-mail. La instrucción ejecuta la siguiente instrucción si la condición es verdadera. Una condición es verdadera si el valor de la palabra clave (state) coincide con el valor concreto (ACTIVE). La siguiente instrucción, , conlleva la ejecución del comando.
A continuación, aparece un ejemplo de script cuando la acción del filtro "Desencadenar activo" se retrasa 30 segundos:
{
WaitUntil (TimeIsAfter(30))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}Las llaves ({}) se utilizan para agrupar instrucciones en una lista. No se agregaron en el ejemplo anterior, ya que la instrucción y las siguientes se tomaron como una sola.
La instrucción hace que el script detenga la ejecución hasta que la condición sea verdadera. La condición comprueba si es verdadera después del tiempo (número de segundos) especificado. Si el evento sigue activo después de 30 segundos, la instrucción ejecuta el comando.
Lo que sigue es una representación de script del filtro "Desencadenar activo o borrado" incorporado para estas circunstancias: se selecciona el evento Falta bandeja de papel para la bandeja 3, existe un retraso de 20-minutos antes de que se ejecute el comando y el comando se repite cada 20 minutos si la condición sigue activa.
While (And(EventDataIs("state", "ACTIVE"), EventDataIs("location", "Tray 3")))
{
WaitUntil(TimeIsAfter(1200))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}En este ejemplo, se ha utilizado para crear una condición compuesta. El bucle While sólo se introduce o repite si el evento está activo para la Bandeja 3. El código dentro del bucle es el mismo que el del filtro "Desencadenar activo", excepto la condición , que está definida para esperar 1200 segundos (20 minutos).