Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
monitorizar estado tarea programada
#1
Hola, llevo muy poquito con pandora,

estoy tratando de monitorizar el estado de una tarea programada de windows, por ejemplo un backup,

he estado intentandolo hacer por wmi, pero con wmiexplorer no encuentro ninguna referencia al estado de las tareas programadas, he visto win32jobobjetstatus, pero no aparece nada dentro.

saludos y gracias...
 Reply
#2
prueba esto:

Set objService = GetObject("winmgmts:\\" & strComputer)
Set objNewJob = objService.Get("Win32_ScheduledJob")


Set colScheduledJobs = objService.ExecQuery("SELECT * FROM Win32_ScheduledJob")
For Each objJob in colScheduledJobs
Wscript.Echo ( "Command: " & objJob.Command & vbCRLF _
& "Days Of Week: " & objJob.DaysOfWeek & vbCRLF _
& "Interact with Desktop: " & objJob.InteractWithDesktop & vbCRLF _
& "Job ID: " & objJob.JobID & vbCRLF _
& "Job Status: " & objJob.JobStatus & vbCRLF _
& "Run Repeatedly: " & objJob.RunRepeatedly & vbCRLF _
& "Start Time: " & objJob.StartTime )
Next
 Reply
#3
hola muchas gracias por tu rapida respuesta,

aunque aun no la entiendo muy bien, por ejemplo, parto de este modulo (controla el stado de la base de datos)

module_begin
module_name mysql_Status
module_type generic_data_string
module_wmiquery select State from Win32_Service where Name = "mysql"
module_wmicolumn State
module_end

El codigo que incluyes parece visual basic, por lo cual imagino que no se podra poner directamente sobre la definicion del modulo (escrito en el ejemplo). Tengo que releerme los manuales Smile

Por otro lado, en el codigo que pones ¿donde haces referencia a la tarea en concreto que queremos monitorizar?


Un saludo, y mil gracias de nuevo..

 Reply
#4
vale, pregunta:

cuando te refieres a "tarea", es una tarea programada "AT" (panel de control\tareas programadas) o es un servicio de windows (panel de control\herramientas administrativas\servicios)

me explico, eso que has puesto tu: Win32_Service .... hace referencia a los servicios de windows, digase mysql, pandora FMS agent, wuauserv (Actualizaciones automáticas)

y lo que yo me refería era a lo otro, las tareas programadas, ejecutar una acción o programa a determinada hora y fecha.

son cosas diferentes.

dime exactamente lo que quieres y te podré ayudar mejor.
 Reply
#5
sisi tienes razon, tareas programadas del programador de tareas..

yo puse el ejemplo de un modulo que monitorizaba un servicio que no tiene nada que ver, pero solo era un ejemplo de un modulo cualquiera.

He estado investigando un poco mas y creo que ya lo tengo mas claro, el modulo que yo puse de ejemplo son para consultas wmi, hay que hacer un modulo para ejecutar vbs.

Por cierto he estado inspeccionado w32_schedulejobs con wmi explorer, y solo me aparececen las tareas que se han creado con AT (como por ejemplo la que crea el agente de pandora), pero las tareas que se crean con el asistente no me aparecen, en particular a mi lo que me interesa es monitorizar que las copias de seguridad se estan haciendo bien.

Un saludo y gracias..

PD: El foro me va fatal, en toda la mañana apenas he conseguido que me salga la pagina un par de veces, ahora parece que va algo mejor.
 Reply
#6
bueno, te cuento lo que he hecho:

en pandora_agent.conf añadi lo siguiente:

module_begin
module_name tareas
module_type generic_data_string
module_exec cscript "%ProgramFiles%\pandora_agent\util\tareas.vbs"
module_description Estado de las tareas
module_end



en tareas.vbs puse: (y este fichero lo puse en el directorio util)

Set objService = GetObject("winmgmts:\\" & strComputer)
Set objNewJob = objService.Get("Win32_ScheduledJob")


Set colScheduledJobs = objService.ExecQuery("SELECT * FROM Win32_ScheduledJob")
For Each objJob in colScheduledJobs
Wscript.Echo ( "Command: " & objJob.Command & vbCRLF _
  & "Days Of Week: " & objJob.DaysOfWeek & vbCRLF _
  & "Interact with Desktop: " & objJob.InteractWithDesktop & vbCRLF _
  & "Job ID: " & objJob.JobID & vbCRLF _
  & "Job Status: " & objJob.JobStatus & vbCRLF _
  & "Run Repeatedly: " & objJob.RunRepeatedly & vbCRLF _
  & "Start Time: " & objJob.StartTime )
Next


y este es el resultado que obtengo:

[Image: pandorap.jpg]

aki hay algo raro Wink
 Reply
#7
Bueno, al final lo he hecho de otra forma, ya que el vbs que me pusiste al ejecutarlo con cscript no me mostraba las tareas creadas con el asistente.

Seguramente se pueda mejorar bastante, pero al menos me funciona. Seria algo asi:


module_begin
module_name Backup_Status
module_type generic_data_string
module_exec dir "e:\ /tw" | grep "backup"
module_description Estado de la copia de seguridad
module_end

Me mostraria la fecha del ultimo backup, ya que el destino es el fichero backup. Lo que no se como hacer es para que se ponga en rojo si han pasado varios dias sin que la copia se actualize.
 Reply


Users browsing this thread: 1 Guest(s)


(c) 2006-2018 Artica Soluciones Tecnológicas. Contents of this wiki are under Create Common Attribution v3 licence. | pandorafms.com | pandorafms.org

Theme © MyBB Themes