[RISOLTO] Crittografia delle password 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
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
Devi posizionare lo script nella cartella di installazione di wapt.
-
Louisinger
- Messaggi: 27
- Registrazione: 26 giugno 2018 - 09:40
Ok, è un file .pyd, colpa mia, grazie
Sentiti libero di pubblicare il tuo script una volta terminato.
Contribuirà alla community di Wapt!
Contribuirà alla community di Wapt!
-
Louisinger
- Messaggi: 27
- Registrazione: 26 giugno 2018 - 09:40
Ecco il mio codice, reso anonimo e commentato il più possibile. Spero che sia utile.
PS: Merita sicuramente degli adesivi di Tranquil IT, non credi?
Codice: Seleziona tutto
def isGroup(myPackage):
"""
Renvoie True si le paquet est un paquet groupe de l'AD.
:param myPackage: nom du paquet à tester.
:return boolean: True si myPackage appartient à groupPackages, False si non.
:exemple:
> isGroup('lot1')
True
> isGroup('tis-java8')
False
"""
groupPackages = {'lot1','lot2','lot3','lot4'}
for group in groupPackages:
if group == myPackage:
return True
return False
def haveGroup(depends):
"""
Renvoie true si la ligne de dépendance en paramètre contient un des groupes.
:param depends: ligne de dépendance au format "dependance1,dependance2,..."
:return boolean: True si il y a un groupe False si non.
:exemple:
> haveGroup('tis-chrome, tis-microsoft-office, lot1')
True
> haveGroup('tis-chrome')
False
"""
if not depends :
return False
else :
packages = depends.split(',')
for p in packages:
if isGroup(p):
return True
return False
def main(get_group):
"""
Repartie les clients WAPT dans différents groupes (groupes AD).
:param get_group: fonction qui renvoie le nom du package group
"""
# const
USER = 'admin'
URL_SERVER = '**********'
RESULT_LIMIT = 1500
TEMP_DIR_ROOT = 'c:/temp/*******'
PATH_TO_CONFIGFILE = r'C:/Users/administrateur/AppData/Local/waptconsole/waptconsole.ini'
FORCE = False
remove_tree(TEMP_DIR_ROOT)
myWapt = Wapt(config_filename = PATH_TO_CONFIGFILE)
mycrt = r"****************"
credentials_url = waptguihelper.login_password_dialog('admin loggin', URL_SERVER, USER, '')
passwd_private_key = waptguihelper.key_password_dialog('Password for private key',mycrt, '')
USER = credentials_url['user']
PASSWORD = credentials_url['password']
PASSWORD_KEY = passwd_private_key['keypassword']
data = json.loads(wgets('https://%s:%s@%s/api/v1/hosts?limit=%s' % (USER, PASSWORD, URL_SERVER, RESULT_LIMIT)))
uuid, depends, fqdn, tmpdir = '','','',''
if FORCE:
print("Force : True")
for value in data['result']:
uuid = value.get('uuid')
depends = value.get('depends')
fqdn = value.get('computer_fqdn')
if not haveGroup(depends) or FORCE:
group_name = get_group(fqdn)
tmpdir = makepath(TEMP_DIR_ROOT, uuid)
myWapt.edit_host(uuid, target_directory = tmpdir, append_depends = group_name)
myWapt.build_upload(r'%s'%tmpdir, private_key_passwd = PASSWORD_KEY, wapt_server_user = USER, wapt_server_passwd = PASSWORD)
print("%s (%s) ---> %s"%(uuid,fqdn,group_name))
if __name__ == "__main__":
main(get_group = mafonctiongetGroup)PS: Merita sicuramente degli adesivi di Tranquil IT, non credi?
Non vuoi fornire la versione anonima della funzione mafonctiongetGroup? 
-
Louisinger
- Messaggi: 27
- Registrazione: 26 giugno 2018 - 09:40
È una funzione specifica per ogni organizzazione e, anche se resa anonima, dubito che abbia senso fornirla. Ma vedrò cosa posso fare 
-
Louisinger
- Messaggi: 27
- Registrazione: 26 giugno 2018 - 09:40
Ecco getGroup:
supponendo che i titoli di lavoro siano nel formato: X000Y100.organisation.fr
dove X000 è il riferimento del sito.
Alias_groupe è del tipo:
e lo switcher che consente di passare da un sito all'altro e da un gruppo all'altro:
Ecco fatto, è semplice e basilare, ma fa risparmiare un sacco di tempo quando si smistano le macchine.
supponendo che i titoli di lavoro siano nel formato: X000Y100.organisation.fr
dove X000 è il riferimento del sito.
Codice: Seleziona tutto
def toSiteName(computer_fqdn):
"""
Renvoie le nom du site en fonction du host name.
:param computer_fqdn: full hostname d'un poste client.
:return string: nom du site en majuscule
"""
host = computer_fqdn.split('.')[0][0:4]
return host.upper()
def getGroup(fqdn):
"""
Renvoie le groupe en fonction du nom de l'hote
"""
site_name = toSiteName(fqdn)
group_name = alias_groupe.get(switcher.get(site_name, 0), 'hors-lot')
return group_name
Codice: Seleziona tutto
alias_groupe = {
0:'hors-lot'
1:'lot1',
2:'lot2',
3:'lot3'
}
Codice: Seleziona tutto
switcher = {
'X000':1
'X001':2
'X002':1
'Y010':3
}
