Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Agregar un modulo en version Community
#1
Requerimiento: Necesito ejecutar el archivo cmd.exe con una instruccion desde el agente para que me traiga el resultado en una pantalla negra como el modulo de "Windows Version".

Pregunta: ¿Como puedo hacer para ejecutar un archivo de linea de comandos (cmd.exe) a través del agente de Windows?

Acciones realizadas:
1. Modifique el archivo pandora_ agent.conf, e inclui la sentencia que encontre en otro sitio, pero no podia ver el modulo, ni crearlo, y al tiempo se renovaba el archivo pandora_agent.conf y se eliminaban mis cambios.
2. Intenté crear un modulo, pero no hay como poner la orden en WQL para que se ejecute, ni la instruccion para la ejecucion del cmd.

Ejemplo de la sentencia anexada al .conf

module_begin
module_name Software Inventory
module_type generic_data
module_proc Powershell.exe
module_description Software Inventory
module_async yes
module_watchdog yes
module_start_command %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
module_end

La linea me funciona en powershell, sin problemas, pero no puedo hacer que esto quede salvado en el .conf, al igual que no puedo convertirlo en un modulo del agente...

Se que esto viene en la version enterprise, pero la version community, me debe permitir hacerlo si lo trabajo yo, creo que de eso se trata...

¿Alguna idea?
 Reply
#2
Hola Carlos Enrique,

El comando que comentas debe funcionar al ejecutarlo desde cmd.exe, solo así funcionará desde el agente de pandora. Aparentemente tiene buena pinta, haciendo la llamada a powershell, etc. Por lo que pruébalo desde cmd para asegurarte.
La sintáxis del módulo que has utilizado no es del todo correcta, sería más bien así:

module_begin
module_name Software Inventory
module_type generic_data
module_exec %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
module_description Software Inventory
module_end

OJO, la línea "module_type" variará en función del tipo de dato devuelto por el comando, siendo generic_data_string para alfanuméricos, generic_data para numéricos y generic_proc para boleanos, suele ser una de las causas más comunes para que un módulo no se inicialice.

Un saludo,
Antonio.
 Reply
#3
Gracias Antonio me has dado una excelente pista.

La linea desde el PowerShell se trunca en el primer pipe, así que decidí seguir buscando otro método para leer desde el mismo cmd, por lo que me dijiste y al final voy a probar lo que me corregiste con lo que encontré.

La linea que se ejecuta directamente desde el cmd.exe y da los resultados del software instalado es wmic get Name,Version,InstallDate


Si incluyo la linea %SystemRoot%\system32\cmd.exe solo abre la ventana y no ejecuta el comando.

Escribo todo cuando este listo.

 Reply
#4
Perfecto,

Comenta por aquí si logras hacerlo funcionar con las pistas que te comenté.

Un saludo,
Antonio.
 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