Bonjour.
J'utilise WAPT (community) sur une centaine de postes, sans gros soucis. Mais aujourd'hui, j'ai passé pas mal de temps à débuguer un problème sur un de ces postes. Le poste enregistré dans l'inventaire ne remontait plus son état (par exemple, un logiciel que j'ai installé en version 3 manuellement avec wapt-get install apparaissait toujours en version 2 dans l'inventaire). En débugant plus, en fait, toutes les commandes remontaient la même erreur :

FATAL ERROR : 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128) : faulty string is 'u'17 d\xe9cembre 2019''
Traceback (most recent call last):
  File "<string>", line 1431, in <module>
  File "<string>", line 1213, in main
  File "C:\Program Files (x86)\wapt\common.py", line 5477, in register_computer
    inv = self._get_host_status_data(old_hashes, new_hashes, force=True, include_dmi=True, include_wmi=True)
  File "C:\Program Files (x86)\wapt\common.py", line 5770, in _get_host_status_data
    _add_data_if_updated(inv,'installed_softwares',setuphelpers.installed_softwares(''),old_hashes,new_hashes)
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 2961, in installed_softwares
    result.extend(list_fromkey("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall",noredir=False))
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 2924, in list_fromkey
    date = str(reg_getvalue(appkey,'InstallDate','')).replace('\x00','')
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128)
Exception at 00442147: UnicodeEncodeError:
exceptions.UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128).

J'ai fini par trouver le responsable dans la BdR : un des logiciels installé utilisait la chaîne "19 Décembre 2019" dans le InstallDate (alors que tous les autres soft utilisent un format YYYMMJJ). Et en supprimant l'accent, tout est OK.

Ne faudrait-il pas que WAPT ignore la date, si il n'arrive pas à la parser, plutôt que de s'arrêter brutalement ? C'est peut être rare comme cas, mais on n'a aucun contrôle sur ce que renseignent les logiciels dans ce champs

++

--

Logo%20FWS

Daniel Berteaud
FIREWALL-SERVICES SAS, La sécurité des réseaux
Société de Services en Logiciels Libres
Tél : +33.5 56 64 15 32