[RISOLTO] Utilizzo del modulo pyad

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

26 gennaio 2018 - 16:43

Buongiorno,
admin-style ha scritto: 26 gennaio 2018 - 11:04 Salve a tutti,
gestisco tre infrastrutture IT piuttosto grandi e di recente ho adottato WAPT.
Ne sono molto soddisfatto e ringrazio le persone che lavorano a questo progetto, così come la community di WAPT.

Ho un pacchetto che richiede l'utilizzo del modulo pyad (un modulo che consente di interrogare e manipolare oggetti di Active Directory) oltre all'installazione del software FusionInventory.

Volevo sapere come utilizzare questo modulo?
- Ho visto in un post che era possibile utilizzare moduli che possono essere copiati nel pacchetto WAPT, ma non c'è documentazione o esempio.
Potresti specificare quale versione hai utilizzato (vedi il post di Alexandre)? viewtopic.php?f=9&t=886). GRAZIE.

WAPT 1.3: dovresti essere in grado di includere la libreria inserendola nella radice del pacchetto.
WAPT 1.5: la libreria è inclusa nativamente

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
stile amministratore
Messaggi: 22
Registrazione: 26 gennaio 2018 - 10:57

29 gennaio 2018 - 15:29

Salve, riguardo alle informazioni sul server e altri dettagli, ecco i dati:
Versione del server WAPT: 1.3.13.0
Versione dell'agente WAPT: 1.3.13.0
Versione di installazione WAPT: 1.3.13.0
Versione di distribuzione WAPT: 1.3.13.0

Il server è in esecuzione su Linux
e la macchina per i pacchetti è in esecuzione su Windows 7.
stile amministratore
Messaggi: 22
Registrazione: 26 gennaio 2018 - 10:57

30 gennaio 2018 - 14:45

Ciao,
quando posiziono la libreria nella directory principale del pacchetto WAPT ed eseguo il programma di installazione, ottengo il seguente errore:

ERRORE FATALE: ImportError: Nessun modulo denominato builtins
Traceback (chiamata più recente):
File "C:\wapt\wapt-get.py", riga 1109, in
main()
File "C:\wapt\wapt-get.py", riga 373, in main
res = mywapt.install_wapt(fn,params_dict = params_dict)
File "C:\wapt\common.py", riga 3630, in install_wapt
raise e
ImportError: Nessun modulo denominato builtins
stile amministratore
Messaggi: 22
Registrazione: 26 gennaio 2018 - 10:57

31 gennaio 2018 - 16:29

Ciao,
esiste un tutorial che spieghi come utilizzare il modulo Python nei pacchetti WAPT?
stile amministratore
Messaggi: 22
Registrazione: 26 gennaio 2018 - 10:57

2 febbraio 2018 - 9:47

Ciao,
qualcuno ha mai avuto bisogno di utilizzare un modulo diverso da quelli offerti da Wapt?
Se sì, potreste mostrarmelo?
Avatar utente
agauvrit
Esperto WAPT
Messaggi: 238
Registrazione: 17 nov 2016 - 10:25
Posizione: Nantes
Contatto:

2 febbraio 2018 - 18:32

Buongiorno,
  • WAPT 1.3: Come spiegato sopra, importando la libreria nella directory principale del pacchetto o nella cartella site-package, sarà possibile utilizzare la libreria pyad durante l'installazione (https://pypi.python.org/pypi/pyad).
  • WAPT 1.5: La libreria è inclusa nell'installazione di WAPT ed è quindi direttamente utilizzabile
Esempio di codice funzionale:

Codice: Seleziona tutto

# -*- 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"]
Sinceramente,

Alessandro
stile amministratore
Messaggi: 22
Registrazione: 26 gennaio 2018 - 10:57

7 febbraio 2018 - 11:13

Buongiorno,
Seguendo l'esempio, sono riuscito a installare il pacchetto sulla macchina che utilizzo per creare i pacchetti
Ecco il mio codice:

Codice: Seleziona tutto

# -*- 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))
Tuttavia, se lo distribuisco su una macchina client, ottengo l'errore
ImportError: nessun modulo denominato builtins

Registro della postazione di lavoro del cliente:

Codice: Seleziona tutto

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')]]

Grazie per l'esempio del codice fornito
Bloccato