Problèmes fréquents¶
J’ai perdu mon mot de passe SuperAdmin¶
Il arrive parfois de configurer un serveur WAPT et d’oublier son mot de passe.
Pour réinitialiser le mot de passe SuperAdmin de la console WAPT, vous devez relancer le processus de post-configuration sur le serveur WAPT.
Réinitialiser le mot de passe du serveur WAPT Linux¶
se connecter au serveur avec SSH ;
se connecter avec l’utilisateur root (ou utiliser sudo) ;
lancer le script de post-configuration :
/opt/wapt/waptserver/scripts/postconf.sh
Attention
Pour éviter de casser la configuration existante du serveur WAPT, acceptez toutes les autres étapes, NE CRÉEZ PAS une nouvelle clé privée !
J’ai perdu ma clé privée WAPT¶
La sécurité et le bon fonctionnement de WAPT s’appuient sur les jeux de clés privés et de certificats publics.
La perte d’une clé privée nécessite donc de regénérer une nouvelle clé et les certifcats associés, et ensuite déployer sur le parc de machines les certificats pour la nouvelle clé.
Donc la procédure n’est pas anodine, même si elle est simple.
Procédure de renouvellement ou de création d’une clé privée¶
La procédure va être la suivante :
générer une nouvelle clé privée/certificat public. Vous conserverez alors la clé privée (fichier .pem) dans un endroit sûr ;
déployer le nouveau certificat .crt sur vos clients dans le dossier
C:\Program Files (x86)\ssl
manuellement ou en utilisant une GPO ;
Manipulation sur les paquets en conséquence¶
Les paquets du dépôt local étant signé avec l’ancienne clé, il convient de re-signer l’intégralité des paquets avec la nouvelle clé.
Afin de re-signer tous les paquets WAPT avec la nouvelle clé (les paquets logiciel et les paquets machine), utiliser la commande :
wapt-get sign-packages C:\\waptdev\\*
Je me suis fait voler ma clé privée¶
Attention
Toute la sécurité de WAPT repose sur la séquestration de cette clé privée.
WAPT ne gère pas encore la révocation des clés en utilisant une CRL.
La solution consiste à supprimer chaque certificat .crt associé à la clé privée volée, situé dans le dossier C:\Program Files (x86)\wapt\ssl
.
Cette opération peut être effectuée par GPO ou manuellement.
Mon UUID BIOS bogue¶
il arrive parfois qu’un problème survienne avec certains BIOS. WAPT utilise l”UUID de la machine comme identifiant pour reconnaître les machines ;
l”UUID BIOS est censé être unique, malheureusement chez certains constructeurs et pour certaines séries de machines, les UUID des BIOS sont identiques ;
le PC remontera bien dans la console mais il écrasera le PC déjà présent considérant que l’ordinateur a changé de nom ;
Résolution¶
WAPT permet de générer un UUID aléatoire pour remplacer celui indiqué dans le BIOS.
wapt-get generate-uuid
Mon WAPTdeploy ne fonctionne pas¶
Symptôme¶
L’utilitaire waptdeploy n’arrive pas à installer l’agent WAPT.
Résolution¶
Ajouter l’url pour waptagent.exe¶
Ajouter l’argument waptsetupurl
dans les paramètres de la stratégie de déploiement waptdeploy.
--waptsetupurl=https://monserverserveurwapt/waptagent.exe
Lancer WAPTdeploy localement¶
Lancer waptdeploy localement peut mettre en évidence un problème en affichant explicitement les erreurs.
Exemple de commande à lancer :
C:\Program Files (x86)\wapt\waptdeploy.exe --hash=2a9971aad083d6822b6e4d1ccfb9886be9429ec58bb13246810ff3d6a56ce887 --minversion=1.4.2.0 --wait=15
Dans notre cas le hash n’est pas le bon.
Attention
Ne pas oublier de lancer l’invite de commande en tant qu”Administrateur.
WAPTdeploy fonctionne manuellement mais ne fonctionne pas via GPO¶
Vérifier que la GPO est bien appliquée avec la commande :
gpresult /h gpo.html & gpo.html
Pour forcer l’application des GPO :
gpupdate /force
Si waptdeploy n’apparaît pas, il faut re-vérifier la configuration de la GPO.
- # vous utilisez peut-être une ancienne version de waptdeploy, alors
téléchargez la dernière version de waptdeploy sur le store WAPT.
- # merci à Emmanuel EUGENE de l”INSERM française
qui a soumis cette cause possible du mauvais fonctionnement du waptdeploy, si vous répliquez des contrôleurs de domaine, assurez-vous que les GPOs sont correctement synchronisées entre vos DCs et que les ACLs sont appliquées de manière identique sur le
SysVols
.
Windows n’attend pas le réseau au démarrage¶
Par défaut Windows n’attend pas le réseau au démarrage de la machine.
Cela peut poser soucis pour l’exécution de waptdeploy car celui-ci a besoin du réseau au démarrage pour télécharger l’agent WAPT.
Vous pouvez activer la GPO : Toujours attendre le réseau au démarrage et à la connexion:
WAPTexit ne se lance pas¶
Malgré la présence du script dans les stratégies locales d’arrêt de la machine, waptexit.exe ne se lance pas à l’extinction du poste.
Résolution: Hybrid Shutdown¶
Il faut désactiver l’arrêt hybride de Windows10, qui cause par ailleurs beaucoup d’autres comportements étranges. La désactivation de l’arrêt hybride rétablit l’exécution des scripts à l’extinction de la machine.
L’arrêt hybride peut être désactivé en précisant une valeur dans le fichier wapt-get.ini
de l’agent WAPT, voir waptexit_ini_file.
Un paquet WAPT existe pour traiter le problème :
Résolution: Windows Home édition¶
Les GPO n’étant pas présentes sur les versions familiales de Windows, il est normal qu’elles ne s’exécutent pas.
La solution de contournement est d’utiliser une tâche planifiée qui appelle C:\Program Files (x86)\wapt\wapt-get.exe
avec le paramètre upgrade
.
Résolution: GPO locale corrompue¶
Il peut arriver que les stratégies de groupes locales de la machine soient corrompues.
Une des solutions consiste à supprimer les stratégies locales actuelles en supprimant le fichier C:\windows\system32\GroupPolicy\gpt.ini
, puis en redémarrant la machine, et enfin en relançant l’installation de la tâche d’extinction :
wapt-get add-upgrade-shutdown
Si le problème se reproduit, cela signifie peut être qu’une autre application manipule également la GPO.
WAPTexit se coupe après 15 minutes et n’achève pas l’installation¶
Par défaut sous Windows, les scripts d’extinction ne peuvent s’exécuter plus de 15 minutes.
Si à l’arrêt de la machine, un script d’extinction n’a pas rendu la main au bout de 15 minutes, le script est interrompu.
Solution : augmenter le délai d’installation¶
Pour résoudre le soucis, il faut modifier la valeur preshutdowntimeout
ainsi que la valeur max_gpo_script_wait
.
Définissez ces valeurs dans C:\Program Files (x86)\wapt\wapt-get.ini
pour modifier le comportement par défaut.
max_gpo_script_wait=180
pre_shutdown_timeout=180
Le paquet tis-wapt-conf-policy embarque cette configuration.
L’autre solution est d’utiliser la GPO File.ini
.
Message d’erreur à l’ouverture de la console¶
Connection refused¶
La console WAPT ne parvient pas à joindre le port 443 du serveur.
vérifier si le service Nginx est démarré sur le serveur :
ps aux | grep nginx
si Nginx n’est pas lancé, relancer Nginx :
service nginx restart
si Nginx ne veux toujours pas démarrer, il faut analyser les fichiers de journalisation dans
/var/log/nginx/
pour Linux ou dansC:\Program Files (x86)\wapt\waptserverginx\logs
pour Windows.
Error connecting with SSL … verify failed¶
La console ne semble pas réussir à vérifier le certificat HTTPS du serveur.
Attention
Attention, avant toute chose vérifiez que vous n’êtes pas victime d’une attaque man in the middle !
Note
Si vous venez de refaire votre serveur WAPT et que vous utilisez un certificat auto-signé, vous pouvez récupérer les anciennes clés de votre ancien serveur wapt dans /opt/wapt/waptserver/apache/ssl
.
fermer votre console WAPT ;
supprimer le dossier
%appdata%\..\Local\waptconsole
;lancer ensuite la commande
wapt-get enable-check-certificate
;assurez-vous que la commande précédente s’est bien déroulée ;
redémarrer le service WAPT avec
net stop waptservice && net start waptservice
;relancer la console WAPT ;
Dans le cas ou vous ne pratiquez pas le certificate pinning, cela signifie que le certificat envoyé par le serveur ne pas être vérifié avec le bundle python certifi. Veillez à bien fournir la chaîne complète pour le certificat sur le serveur WAPT.
Problème lors du enable-check-certificate¶
J’ai le message « certificate CN ### sent by server does not match URL host ### lors du enable-check-certificate »¶
Cela signifie que le CN envoyé par le certificat du serveur ne correspond pas au wapt_server du fichier wapt-get.ini
.
Deux solutions :
vérifier le paramètre wapt_server dans votre fichier
wapt-get.ini
;Si votre valeur est correcte, cela signifie sûrement qu’une erreur est survenue lors de la génération du certificat autosigné par le post conf, une faute de frappe …
Vous pouvez donc regénérer vos certificats autosignés.
sur le serveur WAPT, supprimez le contenu du dossier
/opt/wapt/waptserver/apache/ssl/
.Ensuite, relancez le script de postconf (le même que pendant l’installation avec les mêmes arguments).
Enfin, vérifiez bien le nom renseigné lors de l’étape FQDN for the WAPT serveur est correcte.
vous pouvez maintenant retenter votre enable-check-certificate.
Problème avec la création de paquet¶
Création de paquet via la console¶
Le glisser-déposer dans le dépôt privé dans la console WAPT ne fonctionne pas :
cela ne fonctionnera pas si la console n’a pas été lancée en tant qu”Administrateur Local ;
cela ne fonctionnera pas si la console WAPT a été lancée avec UAC ;
Solution de contournement simple : passer par
.la console ne renseigne pas automatiquement les informations dans les champs :
cela ne fonctionnera pas si vous avez un accent dans le chemin vers le fichier ;
l’installeur ne fournit peut être pas suffisamment d’informations sur ses propriétés ;
Problème de droit avec l’invite de commande Windows¶
Lors de l’édition d’un paquet, on obtient le message suivant :
Solution¶
Ouvrir une session en tant qu”Administrateur Local et refaire l’opération souhaitée.
Problème de droits avec PyScripter¶
Lorsqu’on souhaite tester l’installation d’un paquet sur son PC de développement de paquet à partir de PyScripter, on obtient le message :
Solution¶
Ouvrir une session en tant qu”Administrateur Local et refaire l’opération souhaitée.
Mon paquet WAPT est trop volumineux et je n’arrive pas à l’uploader¶
Quand un paquet est trop volumineux, il faut en général lancer le builder localement puis l’uploader avec WinSCP.
Solution¶
Builder le paquet dans PyScripter ou manuellement.
Indication
Si l”upload a précédemment échoué, vous pourrez trouver le paquet généré dans
C:\waptdev
.télécharger et installer WinSCP à l’aide de WAPT :
wapt-get install tis-winscp
à l’aide de WinSCP, téléversez votre paquet dans le dossier
/var/www/html/wapt/
de votre serveur linux.une fois le transfert terminé, il faut regénérer le fichier
Packages
sur votre dépôt :wapt-scanpackages /var/www/wapt/
Paquet WAPT en erreur¶
Problème d’installation¶
Symptôme¶
J’ai un paquet en erreur et le logiciel n’est pas installé sur la machine quand je me déplace.
Explication¶
Une erreur est survenue pendant l’exécution de l’installation définie dans setup.py
.
Vous pouvez lire et analyser les messages d’erreur retournés dans la console et tenter de les comprendre.
L’installation sera retentée à chaque upgrade jusqu’à ce que le paquet ne génère plus d’erreur.
Solution¶
si WAPT fournit un code d’erreur, chercher ce code d’erreur sur Internet ;
Exemple with a MSI : 1618 : Une autre installation est déjà en cours. Un redémarrage devrait solutionner le problème.
Note
Les différents codes d’erreur MSI sont disponibles ici.
se déplacer physiquement sur la machine en erreur et relancer l’installation silencieuse en ligne de commande. Vérifier ensuite que le logiciel à bien été installé;
Attention
Une fois l’installation silencieuse lancée, ne pas intervenir.
L’objectif est de reproduire le comportement de l’agent WAPT.
si l’installation fonctionne en mode silencieux, en contexte utilisateur, cela peut signifier que l’installeur ne supporte pas l’installation en compte SYSTEM ;
si cela ne fonctionne toujours pas, lancer l’installation manuellement. Il est possible qu’une erreur apparaisse indiquant explicitement le problème. Exemple (Dépendance manquante: .Net , Java, etc..) ;
il est possible que l’installeur ne supporte pas l’écrasement d’une installation précédente, alors prévoir la désinstallation des anciennes version avant d’installer la nouvelle version ;
Erreur « timed out after seconds with output “600.0” »¶
Symptôme¶
Certains paquets dans la console retournent l’erreur :
"Erreur timed out after seconds with output '600.0'"
Explication¶
Par défaut lors d’une installation (avec run, install_msi_if_needed ou install_exe_if_needed) WAPT va attendre 600 secondes que l’installeur lui rende la main.
si l’installeur n’a pas terminé dans ce délai, WAPT coupera l’installation en cours.
Résolution: Installations volumineuses¶
Si vous tentez d’installer un gros logiciel (Office, Solidworks, Libreoffice …), il est possible que l’intervalle de 600 secondes ne soit pas suffisant.
Vous devez alors, augmentez cette valeur avec l’argument timeout, ex: timeout = 1200 :
run('"setup.exe" /adminfile office2010noreboot.MSP',timeout=1200)
Erreur « has been installed but the uninstall key can not be found »¶
Symptôme¶
Certains paquets dans la console retournent l’erreur :
XXX has been installed but the uninstall key can not be found.
Explication¶
WAPT s’appuie sur Windows pour installer les binaires .msi avec install_msi_if_need et les binaires .exe avec install_exe_if_need.
Par défaut, WAPT accepte les codes de retour : 0 (OK) et 3010 (redémarrage nécessaire), et il vérifie la clé de désinstallation résultante (uninstall key).
Malheureusement, on ne peut pas toujours se fier à ces codes d’erreur, WAPT vérifie enfin que tout s’est bien déroulé :
il vérifie la présence de la clé de désinstallation sur la machine ;
il vérifie que la version est bien égale ou supérieure à celle renseignée ;
si ce n’est pas le cas, il en déduit que le logiciel n’est peut-être pas présent sur la machine ;
La fonction bascule alors volontairement le paquet en erreur. L’installation sera retentée lors de chaque upgrade, jusqu’à ce que le paquet ne génère plus d’erreur.
Solution¶
Attention
Avant toute chose, il convient de se connecter sur la machine en erreur et de vérifier manuellement si le logiciel est correctement installé . Si ce n’est pas le cas, se référer à la documentation sur les problèmes d’installation d’un paquet..
si le logiciel est bien installé, cela signifie peut être que la clé de désinstallation ou la version fournie dans le paquet n’est pas bonne ;
récupérer la bonne clé de désinstallation et corriger le paquet en conséquence ;
si l’erreur se produit avec install_msi_if_needed cela signifie que l’installeur MSI est mal conçu et renvoie une mauvaise clé de désinstallation ;
Erreur « has been installed and the uninstall key found but version is not good »¶
Symptôme¶
Certains paquets dans la console retournent l’erreur :
has been installed and the *uninstall key* found but version is not good
Explication¶
Avec les commandes install_msi_if_needed et install_exe_if_needed, des vérifications supplémentaires sont effectuées pour vérifier que tout s’est bien passé.
Solution¶
Attention
Avant toute chose, il convient de se connecter sur la machine en erreur et de vérifier manuellement si le logiciel est correctement installé . Si ce n’est pas le cas, se référer à la documentation sur les problèmes d’installation d’un paquet..
Solution: Avec install_msi_if_needed
¶
Les informations étant extraites depuis l’installeur MSI, cela signifie que le fichiers MSI ne renvoie pas la bonne version ou que la clé de désinstallation retournée n’est pas la bonne version.
Vérifier avec la commande :
wapt-get list-registry
Si la clé retournée n’est pas celle renseignée dans la partie installation du fichier setup.py
, il n’est pas possible d’utiliser la fonction install_msi_if_needed.
Il faut rebasculer l’installation avec un simple run() et gérer les exceptions manuellement.
Avec install_exe_if_needed¶
Cela signifie probablement que la version renseignée dans la fonction install_exe_if_needed n’est pas la bonne. Corriger le paquet WAPT en conséquence.
Note
Si l’argument min_version
n’a pas été renseigné, WAPT va tenter de récupérer automatiquement la version depuis l’installeur exe.
Pour vérifier la clé de désinstallation utilisée et le numéro de version, utiliser la commande :
wapt-get list-registry
Si aucune version n’est fournie avec la commande list-registry, cela signifie que la clé de désinstallation du logiciel ne fournit pas de version.
Deux solutions :
utiliser l’argument
get_version
pour fournir un chemin vers une autreuninstallkey
;
def install():
def versnaps2(key):
return key['name'].replace('NAPS2 ','')
install_exe_if_needed('naps2-5.3.3-setup.exe',silentflags='/VERYSILENT',key='NAPS2 (Not Another PDF Scanner 2)_is1',get_version=versnaps2)
fournir une valeur vide en argument pour
min_version
afin d’indiquer à WAPT qu’aucune version n’est à vérifier ;
min_version=' '
Attention
Avec cette méthode on ne vérifiera plus la version lors de mise à jour !
Problèmes fréquents liés aux Antivirus¶
Certains Antivirus lèvent des alertes pour des composants de WAPT.
Parmis ceux-ci le composant nssm.exe est utilisé par WAPT comme utilitaire de service pour l’agent WAPT.
Voici une liste des exceptions possibles à déclarer dans votre interface de gestion centralisé antivirus :
"C:\Program Files (x86)\wapt\waptservice\win32\nssm.exe"
"C:\Program Files (x86)\wapt\waptservice\win64\nssm.exe"
"C:\Program Files (x86)\wapt\waptagent.exe"
"C:\Program Files (x86)\wapt\waptconsole.exe"
"C:\Program Files (x86)\wapt\waptexit.exe"
"C:\wapt\waptservice\win32\nssm.exe"
"C:\wapt\waptservice\win64\nssm.exe"
"C:\wapt\waptagent.exe"
"C:\wapt\waptconsole.exe"
"C:\wapt\waptexit.exe"
"C:\Windows\Temp\waptdeploy.exe"
"C:\Windows\Temp\waptagent.exe"
"C:\Windows\Temp\is-?????.tmp\waptagent.tmp"
EWaptBadControl: “utf8” codec can’t decode byte¶
Si vous recevez ce message, cela peut signifier que vous n’avez pas mis en place correctement votre environnement de développement. Visitez cette section de la documentation sur la configuration de l’UTF-8 (pas de BOM).
I have a lot more hosts in the console than I have host packages on my server?¶
Suite à une remarque de Philippe LEMAIRE du Lycée Français Alexandre Yersin à Hanoï, si vous utilisez la version Entreprise du WAPT et que vous faites un usage intensif des paquets unit ou profile packages, vous pouvez réaliser que vous aurez beaucoup plus d’hôtes dans votre console que de *host packages* sur votre serveur WAPT. C’est normal.
En fait, les paquets unit et les paquets profile ne sont pas explicitement attribués à la machine (c’est-à-dire comme des dépendances dans le paquet host) mais sont implicitement pris en compte par le moteur de dépendance de l’agent WAPT lors de la mise à niveau WAPT.
On peut donc ne pas avoir de paquet host sur le serveur si seuls des paquets unit sont utilisés pour gérer une flotte d’appareils.