Page 1 sur 1
Re: Utilisation du module pyad
Posté : 26 janv. 2018 - 16:43
par dcardon
Bonjour,
admin-style a écrit : ↑26 janv. 2018 - 11:04
Bonjours à tout le monde,
je gère 3 parc informatique assez conséquent et j'ai adopté WAPT depuis peu.
j'en suis assez content et remercie les gens travaillant autour de ce projet ainsi que la communuaté WAPT
J'ai un paquet qui nécessite l'utilisation du module pyad (module permettant d'interroger et de manipuler les objets de l'active directory) en plus de l'installation du logiciel fusioninventory.
Je voulais savoir comment utiliser ce module ?
- j'ai vu sur un post qu'on pouvait utiliser des modules à copier dans le paquet WAPT. mais pas de doc aoppaement ou un exemple
est ce que vous pourriez préciser la version utilisée (cf le post d'Alexandre
viewtopic.php?f=9&t=886). Merci.
WAPT 1.3 : vous devriez pouvoir inclure la librairie en la mettant à la racine du paquet.
WAPT 1.5 : la librairie est incluse nativement
Denis
Re: Utilisation du module pyad
Posté : 29 janv. 2018 - 15:29
par admin-style
Bonjour pour ce qui concerne les infos du serveur et autre voici les données :
Version WAPT Server : 1.3.13.0
Version WAPT Agent : 1.3.13.0
version WAPT Setup : 1.3.13.0
Version WAPT Deploy : 1.3.13.0
Serveur en linux
et machine pour les paquets en WIN7
Re: Utilisation du module pyad
Posté : 30 janv. 2018 - 14:45
par admin-style
Bonjour,
En mettant la librairie à la racine du paquet WAPT et en exécutant l'installa j'ai l'erreur suivante :
FATAL ERROR : ImportError: No module named builtins
Traceback (most recent call last):
File "C:\wapt\wapt-get.py", line 1109, in <module>
main()
File "C:\wapt\wapt-get.py", line 373, in main
res = mywapt.install_wapt(fn,params_dict = params_dict)
File "C:\wapt\common.py", line 3630, in install_wapt
raise e
ImportError: No module named builtins
Re: Utilisation du module pyad
Posté : 31 janv. 2018 - 16:29
par admin-style
Bonjour
Est ce qu'il existe un tutoriel expliquant l'utilisation de module python dans les paquets wapt ?
Re: Utilisation du module pyad
Posté : 02 févr. 2018 - 09:47
par admin-style
Bonjour
Est ce que quelq'un n'a pas eu besoin un jour d'utiliser un module autre que ceux proposés par wapt.
Si oui est ce qu'il peut me montrer ?
Re: Utilisation du module pyad
Posté : 02 févr. 2018 - 18:32
par agauvrit
Bonjour,
- WAPT 1.3 : Comme expliqué plus haut, en important la librairie à la racine de votre paquet ou dans le dossier site-package vous pourrez utiliser la librairie pyad lors de l'installation (https://pypi.python.org/pypi/pyad)
- WAPT 1.5 : La librairie est incluse dans l'installation de WAPT donc directement utilisable
Exemple de code fonctionnel :
Code : Tout sélectionner
# -*- 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"]
Cordialement,
Alexandre
Re: Utilisation du module pyad
Posté : 07 févr. 2018 - 11:13
par admin-style
Bonjour,
En suivant l'exemple j'ai pu installer le paquet sur le poste qui me sert à créer les paquets
Voici mon code :
Code : Tout sélectionner
# -*- 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))
En revanche si je le déploie sur une machine cliente j'ai l'erreur
ImportError: No module named builtins
Log du poste client :
Code : Tout sélectionner
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')]]
Merci pour l'exemple du code donnée