Página 1 de 1
Re: Uso del módulo pyad
Publicado: 26 de enero de 2018 - 16:43
por dcardon
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
Re: Uso del módulo pyad
Publicado: 29 de enero de 2018 - 15:29
por admin-style
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.
Re: Uso del módulo pyad
Publicado: 30 de enero de 2018 - 14:45
por admin-style
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
Re: Uso del módulo pyad
Publicado: 31 de enero de 2018 - 16:29
por admin-style
Hola,
¿existe algún tutorial que explique cómo usar el módulo Python en los paquetes WAPT?
Re: Uso del módulo pyad
Publicado: 2 de febrero de 2018 - 9:47 a. m.
por admin-style
Hola,
¿alguien ha necesitado usar algún módulo que no sea de los que ofrece Wapt?
Si es así, ¿podrían mostrármelo?
Re: Uso del módulo pyad
Publicado: 2 de febrero de 2018 - 18:32
por agauvrit
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
Re: Uso del módulo pyad
Publicado: 7 de febrero de 2018 - 11:13 a. m.
por admin-style
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