[RESUELTO] Archivo de configuración de pulso del cliente VPN de Ivanti

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
skoizer
Mensajes: 52
Inscripción: 19 de junio de 2018 - 16:45

17 de mayo de 2023 - 16:00 horas

Buen día,

Versión WAPT: 2.3
licencia: empresa
servidor: debian 11
prueba: Windows 2019

Estoy creando un paquete para instalar un software cliente VPN iVanti (anteriormente Pulse)
Es un archivo .msi

Necesito instalar el cliente VPN leyendo el archivo de configuración, que se encuentra en el directorio del paquete

Necesito enviar el directorio completo o el archivo de configuración como parámetro

ejemplo
msiexec /i PulseSecure.x64.msi CONFIGFILE="c:\temp\mi configuración..pulsepreconfig "

¿Cómo puedo recuperar la ruta completa del archivo VPN-TELETRAVAIL.pulsepreconfig?


propiedades = {"CONFIGFILE":"?????VPN-TELETRABAJO.pulsepreconfig"}

Con esto en pyscripter, funciona.
propiedades = {"ARCHIVO DE CONFIGURACIÓN": C:\waptdev\cd12-ivanti-secure-access-client_22.2.1295_x64_Windows_PROD\VPN-TELETRAVAIL.pulsepreconfig"}


Código: Seleccionar todo

service_name = 'PulseSecureService'
bin_name = glob.glob("PulseSecure-*.msi")[0]
configuration_file = glob.glob("*.pulsepreconfig")[0]
properties = {"CONFIGFILE":"VPN-TELETRAVAIL.pulsepreconfig"}

def install():
    # Declaring local variables

    # Installing the software
    print("Installation de : PulseSecure-x64-%s avec le fichier de configuration %s pour les utilisateurs hors DSI " % (bin_name,configuration_file))
    install_msi_if_needed(bin_name,properties = properties)


def audit():

    if not service_installed(service_name):
        print("ERREUR : Le service %s n'est pas installé " % service_name)
        return "ERROR"
    if not service_is_running (service_name):
        print("ERREUR : Le service %s n'est pas lancé " % service_name)
        return "WARNING"
    if not service_get_start_mode(service_name) == 'Auto':
        print("ERREUR : le service %s n'est pas en demarrage automatique" % service_name)
        return "WARNING"
    else:
        print("Le service %s est lancé " % service_name)
        return "OK"

Última edición realizada por skoizer el 22 de mayo de 2023 a las 08:50, editado 2 veces.
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

19 de mayo de 2023 - 10:52

Buen día

Tienes una variable implícita que se puede utilizar: basedir

Sin embargo, basedir solo está disponible en la función de instalación, por lo que será necesario mover las propiedades

Código: Seleccionar todo

def install():
    properties = {"CONFIGFILE": makepath(basedir,'VPN-TELETRAVAIL.pulsepreconfig')}
skoizer
Mensajes: 52
Inscripción: 19 de junio de 2018 - 16:45

22 de mayo de 2023 - 08:49

Gracias
Pero finalmente no pude usar install_msi_if_needed porque la clave MSI y la clave real en el registro son diferentes

Aquí está mi paquete modificado

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
service_name = 'PulseSecureService'
uninstallkey = '{5B342340-B6CE-4514-84B1-942BC36778FD}' # a trouver ici Ordinateur\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\


def install():
    # Declaring local variables
    #properties = {"CONFIGFILE": makepath(basedir,configuration_file)} #si cela fonctionne avec le MSI
    configuration_file = glob.glob("*.pulsepreconfig")[0]
    bin_name = glob.glob("PulseSecure-*.msi")[0]
    silentflags="/qn CONFIGFILE=" + makepath(basedir,configuration_file)
    # Installing the software
    print("Installation de : PulseSecure-x64-%s avec le fichier de configuration %s pour les utilisateurs hors DSI " % (bin_name,configuration_file))
    install_exe_if_needed(
        bin_name,
        key=uninstallkey,
        silentflags=silentflags,
        )
    """
        #si la clef du msi est la clef de registre correspondent, mettre plutot ceci
        install_msi_if_needed(
        bin_name,
        properties = properties,
        )
    """


def audit():

    if not service_installed(service_name):
        print("ERREUR : Le service %s n'est pas installé " % service_name)
        return "ERROR"
    if not service_is_running (service_name):
        print("WARNING : Le service %s n'est pas lancé " % service_name)
        return "WARNING"
    if not service_get_start_mode(service_name) == 'Auto':
        print("WARNING : le service %s n'est pas en demarrage automatique" % service_name)
        return "WARNING"
    else:
        print("Le service %s est lancé " % service_name)
        return "OK"

def uninstall():
    #sur la description du MSI le code du paquet  n'est pas le bon. il y a ceci {5BE12994-E946-4B9F-87EA-5930731ECB92}
    #donc je force l'autre code, a changer manuellement, lors d'une nouvelle version \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
    run("MsiExec.exe /X" + uninstallkey + " /qn")
    print("Desinstallation de ivanti OK")
Bloqueado