[RESUELTO] Usando el módulo pyad

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
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

26 de enero de 2018 - 16:43

Buen día,
admin-style escribió: 26 de enero de 2018 - 11:04 AM Hola a todos,
administro tres infraestructuras de TI bastante grandes y recientemente adopté WAPT.
Estoy bastante contento con él y agradezco a las personas que trabajan en este proyecto, así como a la comunidad de WAPT.

Tengo un paquete que requiere el uso del módulo pyad (un módulo que permite consultar y manipular objetos de Active Directory) además de instalar el software FusionInventory.

Quería saber cómo usar este módulo.
- Vi en una publicación que era posible usar módulos que se pueden copiar en el paquete WAPT, pero no hay documentación ni ejemplo.
¿Podrías especificar qué versión usaste (ver la publicación de Alexandre)? viewtopic.php?f=9&t=886). GRACIAS.

WAPT 1.3: debería poder incluir la biblioteca colocándola en la raíz del paquete.
WAPT 1.5: la biblioteca está incluida de forma nativa

Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
estilo administrativo
Mensajes: 22
Inscripción: 26 de enero de 2018 - 10:57

29 de enero de 2018 - 15:29

Hola, con respecto a la información del servidor y otros detalles, aquí están los datos:
Versión del servidor WAPT: 1.3.13.0
Versión del agente WAPT: 1.3.13.0
Versión de la configuración WAPT: 1.3.13.0
Versión de la implementación WAPT: 1.3.13.0

El servidor está ejecutando Linux
y la máquina para los paquetes está ejecutando Windows 7.
estilo administrativo
Mensajes: 22
Inscripción: 26 de enero de 2018 - 10:57

30 de enero de 2018 - 14:45

Hola,
cuando coloco la biblioteca en el directorio raíz del paquete WAPT y ejecuto el instalador, obtengo el siguiente error:

ERROR FATAL: ImportError: No se encontró el módulo llamado builtins
Traceback (última llamada):
Archivo "C:\wapt\wapt-get.py", línea 1109, en
main()
Archivo "C:\wapt\wapt-get.py", línea 373, en main
res = mywapt.install_wapt(fn,params_dict = params_dict)
Archivo "C:\wapt\common.py", línea 3630, en install_wapt
raise e
ImportError: No module named builtins
estilo administrativo
Mensajes: 22
Inscripción: 26 de enero de 2018 - 10:57

31 de enero de 2018 - 16:29

Hola,
¿existe algún tutorial que explique cómo usar el módulo Python en los paquetes WAPT?
estilo administrativo
Mensajes: 22
Inscripción: 26 de enero de 2018 - 10:57

2 de febrero de 2018 - 9:47 AM

Hola,
¿alguien ha necesitado usar algún módulo que no sea de los que ofrece Wapt?
Si es así, ¿podrían mostrármelo?
Avatar de usuario
agauvrit
Experto en WAPT
Mensajes: 238
Inscripción: 17 de noviembre de 2016 - 10:25
Ubicación: Nantes
Contacto :

2 de febrero de 2018 - 18:32

Buen día,
  • WAPT 1.3: Como se explicó anteriormente, al importar la biblioteca a la raíz de su paquete o a la carpeta site-package podrá utilizar la biblioteca pyad durante la instalación (https://pypi.python.org/pypi/pyad).
  • WAPT 1.5: La biblioteca está incluida en la instalación de WAPT y, por lo tanto, se puede utilizar directamente
Ejemplo de código funcional:

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *
import pyad.adquery

def install():
    print('installing tis-adtest')
    q = pyad.adquery.ADQuery()

    q.execute_query(
        attributes = ["distinguishedName", "description"],
        where_clause = "objectClass = '*'",
        base_dn = "OU=computers, DC=domain, DC=lan"
    )

    for row in q.get_results():
        print row["distinguishedName"]
Atentamente,

Alejandro
estilo administrativo
Mensajes: 22
Inscripción: 26 de enero de 2018 - 10:57

7 de febrero de 2018 - 11:13

Buen día,
Siguiendo el ejemplo, pude instalar el paquete en la máquina que uso para crear paquetes
Aquí está mi código:

Código: Seleccionar todo

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

uninstallkey = []



def install():
    print('installation fusioninventory-agent')

    #Initialisations diverses
    ServerFusion = "http://adresse serveur fusion"
    idLycee=138

    #Recup nom ordinateur et chemin LDAP
    ComputerName = get_computername()
    ComputerLDAP = pyad.adsearch.by_cn(ComputerName)

    #Transformation pour extraction de l'OU
    ComputerTab = ComputerLDAP.split(",")
    ComputerExtract = ComputerTab[1].split("=")
    ComputerOU = ComputerExtract[1]
    tag = "%s;%s" % (idLycee,ComputerOU)
    print tag

    #Lancement de la commande install silencieuse
    if iswin64() :
        run(r'"fusioninventory-agent_windows-x64_2.3.21.exe" /acceptlicense /runnow /tag="%s" /server="%s" /S' % (tag, ServerFusion))
    else:
        run(r'"fusioninventory-agent_windows-x64_2.3.21.exe" /acceptlicense /runnow /tag="%s" /server="%s" /S' % (tag, ServerFusion))
Sin embargo, si lo implemento en una máquina cliente, obtengo el error
ImportError: No hay ningún módulo llamado builtins

Registro de la estación de trabajo del cliente:

Código: Seleccionar todo

2018-02-07 11:16:45,677 CRITICAL Error importing c:\windows\temp\waptbsr9b4\setup.py :
Traceback (most recent call last):
  File "c:\wapt\common.py", line 795, in import_setup
    py_mod = imp.load_source(modulename, setupfilename)
  File "c:\windows\temp\waptbsr9b4\setup.py", line 3, in <module>
    from pyad import *
  File "c:\windows\temp\waptbsr9b4\pyad\__init__.py", line 2, in <module>
    from .adbase import set_defaults as pyad_setdefaults
  File "c:\windows\temp\waptbsr9b4\pyad\adbase.py", line 3, in <module>
    from builtins import object
ImportError: No module named builtins

2018-02-07 11:16:46,019 CRITICAL Package claret-fusioninventory not installed due to errors : ImportError: No module named builtins
2018-02-07 11:16:46,019 CRITICAL Exception: Error during install of claret-fusioninventory: errors in packages [[u'claret-fusioninventory', PackageEntry('claret-fusioninventory','2.3.21-2')]]

Gracias por el ejemplo del código dado
Bloqueado