[RESUELTO] Agente Meshcentral

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Bloqueado
smandel
Mensajes: 111
Inscripciones: 5 de mayo de 2022 - 11:30

12 de septiembre de 2022 - 12:13

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.
Avatar de usuario
jpele
Mensajes: 156
Inscripción: 4 de marzo de 2019 - 12:01
Ubicación: Nantes

12 de septiembre de 2022 - 14:58

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
smandel
Mensajes: 111
Inscripciones: 5 de mayo de 2022 - 11:30

12 de septiembre de 2022 - 15:16

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.
smandel
Mensajes: 111
Inscripciones: 5 de mayo de 2022 - 11:30

12 de septiembre de 2022 - 15:46

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)
smandel
Mensajes: 111
Inscripciones: 5 de mayo de 2022 - 11:30

12 de septiembre de 2022 - 15:59

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")
Avatar de usuario
jpele
Mensajes: 156
Inscripción: 4 de marzo de 2019 - 12:01
Ubicación: Nantes

12 de septiembre de 2022 - 16:16

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.
smandel
Mensajes: 111
Inscripciones: 5 de mayo de 2022 - 11:30

12 de septiembre de 2022 - 17:42

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)
Avatar de usuario
jpele
Mensajes: 156
Inscripción: 4 de marzo de 2019 - 12:01
Ubicación: Nantes

16 de septiembre de 2022 - 16:24

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 7929 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
Bloqueado