Página 1 de 1

[RESUELTO] Agente Meshcentral

Publicado: 12 de septiembre de 2022 - 12:13 p. m.
por smandel
Buen día,

Estoy intentando implementar el agente Meshcentral usando el paquete tis-mesh-template.
Así logré desbloquear la instalación del agente; estaba bloqueada porque los ejecutables del agente de malla mostraban una versión "0.0.0.0".
Así que no debería haber ningún problema con la instalación.

Sin embargo, cuando intento desinstalarlo desde la consola, aparece este mensaje:

Código: Seleccionar todo

...Checking for previous installation of "\"Mesh" [NONE]
y posteriormente el siguiente mensaje de error y ninguna desinstalación del agente:

Código: Seleccionar todo

Waiting for the removal of key: Mesh Agent from Windows registry
Fatal error : Uninstallkey still present
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1894, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 692, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1286, in _run
    self.result = self.wapt.remove(self.packagenames,
  File "C:\Program Files (x86)\wapt\common.py", line 5500, in remove
    setuphelpers.error('Uninstallkey still present')
  File "C:\Program Files (x86)\wapt\waptutils.py", line 1907, in error
    raise EWaptSetupException('Fatal error : %s' % reason)
waptutils.EWaptSetupException: Fatal error : Uninstallkey still present

EWaptSetupException: Fatal error : Uninstallkey still present
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1894, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 692, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1286, in _run
    self.result = self.wapt.remove(self.packagenames,
  File "C:\Program Files (x86)\wapt\common.py", line 5500, in remove
    setuphelpers.error('Uninstallkey still present')
  File "C:\Program Files (x86)\wapt\waptutils.py", line 1907, in error
    raise EWaptSetupException('Fatal error : %s' % reason)
waptutils.EWaptSetupException: Fatal error : Uninstallkey still present
Mientras que no tengo problemas cuando ejecuto la "desinstalación" del paquete bajo Pyscripter.
Tengo la impresión de que la función "desinstalar" del paquete no se utiliza durante una desinstalación mediante WAPT.

GRACIAS.

Atentamente.

Re: Agente de Meshcentral

Publicado: 12 de septiembre de 2022 - 14:58
por jpele
Buen día,
Es probable que estés probando la desinstalación mediante la consola en el equipo de desarrollo donde creaste y probaste el paquete. Por eso, la consola no detecta la instalación. Te sugiero que la pruebes en otro equipo para validar la instalación.

Hay una declaración de impresión a tal efecto, que se mostró en el momento de la instalación a través de PyScripter.

Código: Seleccionar todo

    if not running_as_system():
        print("WARNING: %s will NOT be installed as SYSTEM account, it may cause issues" % app_name)
Atentamente,
Palanqueta

Re: Agente de Meshcentral

Publicado: 12 de septiembre de 2022 - 15:16
por smandel
Hola,

gracias por tu respuesta.
Estoy probando el paquete localmente con PyScripter, luego lo subo al servidor y lo asigno a mi PC.
La instalación se realiza sin problemas, al igual que la auditoría; recupera correctamente toda la información, incluyendo el ID para iniciar sesión a través de la consola WAPT.
Sin embargo, cuando intento desinstalarlo a través de la consola WAPT, recibo estos mensajes de error, tanto en mi equipo como en otro.

La desinstalación parece ejecutar el comando "remove" en lugar del comando "uninstall".
El problema es que no tengo control sobre lo que sucede durante el proceso de "remove".

Gracias.

Saludos cordiales.

Re: Agente de Meshcentral

Publicado: 12 de septiembre de 2022 - 15:46
por smandel
Bueno, creo que lo acabo de encontrar...
De hecho, el ejecutable del agente crea un "UninstallString" incorrecto en el registro:

Código: Seleccionar todo

C:\Program Files\Mesh Agent\MeshAgent.exe -funinstall --meshServiceName="Mesh Agent"
La cadena correcta es la siguiente:

Código: Seleccionar todo

C:\Program Files\Mesh Agent\MeshAgent.exe -fulluninstall
Debo estar en una versión con errores... (versión del servidor meshcentral 1.0.85)

Re: Agente de Meshcentral

Publicado: 12 de septiembre de 2022 - 15:59
por smandel
Entonces, para resolver el problema, agregué lo siguiente al final de install():

Código: Seleccionar todo

registry_set(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Mesh Agent","UninstallString","C:\Program Files\Mesh Agent\MeshAgent.exe -fulluninstall")

Re: Agente de Meshcentral

Publicado: 12 de septiembre de 2022 - 16:16
por jpele
Es probable, ya que las pruebas se realizaron en las versiones 0.9.84 y 1.0.0 (no estoy seguro).
De todas formas, lo volveré a probar; hace tiempo que no reviso este paquete.
Si tiene alguna información adicional, no dude en compartirla para que podamos mejorarlo.

Re: Agente de Meshcentral

Publicado: 12 de septiembre de 2022 - 17:42
por smandel
Entonces, según mis pruebas por el momento, es mejor permanecer en la versión estable 1.0.0:

Código: Seleccionar todo

npm install meshcentral@1.0.0
En el nivel WAPT, agregue la clave anterior a "install()".
Y en la función audit(), agregue un período de suspensión de 15 segundos al comienzo para garantizar que las claves de registro se creen correctamente:

Código: Seleccionar todo

time.sleep(15)

Re: Agente de Meshcentral

Publicado: 16 de septiembre de 2022 - 16:24
por jpele
Buen día,
De hecho, la versión 1.0 parece más segura.
Para su información, puede cambiar de versión gráficamente desde la interfaz web.
15/09/2022 16_22_20-MeshCentral.png
2022-09-15 16_22_20-MeshCentral.png (97,79 KB) Visto 7927 veces
El paquete se ha actualizado; aquí está el registro de cambios:

0.2.1.3-80

El paquete ahora se puede personalizar completamente de forma interactiva con update_package
La configuración ahora se basa en el archivo JSON "mesh-conf.json" editado gráficamente en update_package
Ahora se usa una carpeta persistente para llamar al archivo JSON localmente con get_persistent_package_file()
Autocompletar impacted_process
Corrija la desinstalación agregando QuietUninstallString


Atentamente,
Palanqueta