[RESOLU] chiffrer ses pass wapt
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
- sfonteneau
- Expert WAPT
- Messages : 1789
- Inscription : 10 juil. 2014 - 23:52
- Contact :
Il faut placer votre script dans le dossier d'installation de wapt.
-
- Messages : 27
- Inscription : 26 juin 2018 - 09:40
Ok c'est un .pyd autant pour moi merci
- sfonteneau
- Expert WAPT
- Messages : 1789
- Inscription : 10 juil. 2014 - 23:52
- Contact :
N'hésitez pas à poster votre script une fois celui-ci terminé.
Cela participe à la vie de la communauté wapt !
Cela participe à la vie de la communauté wapt !
-
- Messages : 27
- Inscription : 26 juin 2018 - 09:40
Voila mon code anonymisé et commenté au maximum. En espérant que ça aide.
PS : ça mérite bien quelques stickers Tranquil IT non ?
Code : Tout sélectionner
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 : ça mérite bien quelques stickers Tranquil IT non ?
- sfonteneau
- Expert WAPT
- Messages : 1789
- Inscription : 10 juil. 2014 - 23:52
- Contact :
Vous voulez pas donner la fonction mafonctiongetGroup anonymisée ?
-
- Messages : 27
- Inscription : 26 juin 2018 - 09:40
C'est une fonction propre à chaque organisation même anonymisé je doute qu'il y ai du sens à la donner. Mais bon je vais voir ce que je peux faire
-
- Messages : 27
- Inscription : 26 juin 2018 - 09:40
Voila getGroup :
en imaginant que les noms des postes sont de la forme : X000Y100.organisation.fr
où X000 la référence du site.
Alias_groupe est de la forme :
et le switcher qui permet de passer des sites au groupes :
Voila c'est du bête et méchant mais ça fait gagner un temps monstre pour trier les machines.
en imaginant que les noms des postes sont de la forme : X000Y100.organisation.fr
où X000 la référence du site.
Code : Tout sélectionner
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
Code : Tout sélectionner
alias_groupe = {
0:'hors-lot'
1:'lot1',
2:'lot2',
3:'lot3'
}
Code : Tout sélectionner
switcher = {
'X000':1
'X001':2
'X002':1
'Y010':3
}