Code source wiki de Outil d’importation d'utilisateurs (importtools)
Modifié par Aurelie Bertrand le 2025/10/14 14:07
Masquer les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | {{ddtoc/}} |
| 2 | |||
| 3 | ---- | ||
| 4 | |||
| 5 | = **{{id name="__RefHeading___Toc1848_2652393712"/}}**Description = | ||
| 6 | |||
| 7 | **importtools **est un outil pour gérer les utilisateurs dans le LDAP DigDash. Il est notamment utile dans le cas de gestion d’une grosse base d’utilisateurs. | ||
| 8 | |||
| 9 | L'importtools peut être lancé directement via le fichier de commande « importtools.bat » fourni, avec les arguments par défaut (modifiables en éditant le fichier .bat) | ||
| |
24.1 | 10 | — ou — |
| 11 | être exécuté via l’outil Java "importtools.jar" fourni dans le dossier <digdash_install>\add-ons\tools\lib avec les arguments par défaut ou personnalisables (voir partie suivante). | ||
| |
1.1 | 12 | |
| |
2.1 | 13 | (% class="box infomessage" %) |
| 14 | ((( | ||
| |
1.1 | 15 | java -jar importtools.jar [-conf configfile] [-users userfile] [-out outputfile] |
| |
2.1 | 16 | ))) |
| |
1.1 | 17 | |
| |
9.1 | 18 | = Importation d’utilisateurs = |
| 19 | |||
| |
1.1 | 20 | Elle consiste principalement à avoir deux fichiers en entrée : |
| 21 | |||
| 22 | * le fichier de configuration au format XML : le fichier d’exemple conf.xml est livré dans <digdash_install>\add-ons\tools\importtools ; il permet de faire la correspondance entre une colonne du fichier utilisateurs (voir suite) et un attribut d’un utilisateur LDAP dans le fichier de sortie (voir suite). | ||
| 23 | * le fichier utilisateurs au format Excel ou CSV : le fichier d’exemple users.xls est livré dans <digdash_install>\add-ons\tools\importtools ; Il s’agit de la base utilisateurs (une ligne par utilisateur) à importer dans LDAP. Ses colonnes correspondent aux attributs du fichier de configuration XML. | ||
| 24 | |||
| 25 | Et un fichier en sortie : | ||
| 26 | |||
| 27 | * le fichier de sortie au format XML : nommé « out.xml » par défaut, il est généré au lancement de l’outil « importtools » avec les deux fichiers mentionnés précédemment en entrée ; il est généré de manière à se mapper sur la structure LDAP. | ||
| 28 | |||
| 29 | |=Tag|=Description | ||
| 30 | |**-conf** <config file>|Chemin du fichier de configuration XML. Par défaut, conf.xml. | ||
| 31 | |**-users** <excel file / csvfile>|Chemin du fichier en entrée des utilisateurs à importer. Il s’agit d’un fichier Excel ou d’un fichier CSV. Par défaut, users.xls. | ||
| 32 | |**-out** <outputfile>|Chemin du fichier de sortie XML faisant le mapping avec LDAP. Par défaut, out.xml. | ||
| 33 | |**-help**|Commande d’aide d’usage. | ||
| 34 | |**-debug**|Affiche les traces dans les cas erreurs. | ||
| 35 | |**-import**|Envoie le fichier de sortie (par défaut out.xml) au serveur pour l’importer dans LDAP. | ||
| 36 | |**-importonly**|Utilise un fichier de sortie existant (par défaut, out.xml) et l’envoie au serveur pour l’importer dans LDAP. | ||
| |
11.1 | 37 | |**-server**|Adresse du serveur DigDash. |
| 38 | |**-domain**|Nom du domaine DigDash Enterprise (par exemple, ddenterpriseapi) | ||
| |
1.1 | 39 | |**-user**|L’utilisateur superviseur. |
| 40 | |**-pass**|Le mot de passe de l’utilisateur superviseur. | ||
| 41 | |||
| |
7.2 | 42 | = {{id name="__RefHeading___Toc476_3721803795"/}}Commandes d'ajout d'utilisateurs = |
| 43 | |||
| |
25.1 | 44 | (% class="box infomessage" %) |
| 45 | ((( | ||
| 46 | ℹ Si un utilisateur a un élément (rôle, groupe ACL et profil) qui n'existe pas au moment de l'import, l'utilisateur est quand même ajouté sans cet élément. | ||
| 47 | ))) | ||
| 48 | |||
| |
7.2 | 49 | Un utilisateur peut être ajouté selon trois méthodes dans le LDAP : |
| 50 | |||
| 51 | == create == | ||
| 52 | |||
| 53 | Dans ce mode l'utilisateur sera ajouté si, et seulement si, il n'existe pas. | ||
| 54 | En d'autres termes, avec la commande create, l'ajout d'un utilisateur existant est une erreur. | ||
| 55 | |||
| |
22.1 | 56 | (% class="box" %) |
| 57 | ((( | ||
| 58 | 💡 **Import de profils utilisateur** | ||
| 59 | |||
| 60 | Il est possible d'importer des profils utilisateur en mode création de la même manière que des utilisateurs. | ||
| 61 | Pour cela, vous pouvez utiliser le même fichier au format Excel ou CSV que pour l'importation des utilisateurs : | ||
| 62 | |||
| |
23.1 | 63 | 1. Dans les colonnes **uid**, **dn** et **cn**, à la place du nom de l'utilisateur, entrez le nom des profils avec le préfixe "**dd_profil_**" |
| |
22.1 | 64 | Par exemple : //"dd_profil_profilA" //avec //profilA //le nom du profil. |
| 65 | Vous pouvez consulter le fichier [[import_profil.csv>>attach:import_profil.csv]] pour exemple. | ||
| 66 | 1. Lancez importtools normalement. | ||
| |
23.1 | 67 | ➡ Les profils renseignés dans le fichier vont être créés avec les rôles, ACLs... associés. |
| |
22.1 | 68 | ))) |
| 69 | |||
| |
7.2 | 70 | == overwrite == |
| 71 | |||
| 72 | Cette commande va écraser un utilisateur existant. | ||
| 73 | Plus précisément il va être effacé avant d'un créé complètement avec les nouveaux attributs. | ||
| 74 | Si l'utilisateur n'existe pas au préalable, il sera simplement ajouté. | ||
| 75 | |||
| 76 | == update == | ||
| 77 | |||
| 78 | Cette commande va mettre à jour l'utilisateur avec les attributs contenus dans votre fichier d'import. | ||
| 79 | L'utilisateur doit donc exister au préalable. Il ne sera pas effacé. | ||
| 80 | |||
| |
2.1 | 81 | = {{id name="__RefHeading___Toc476_3721803795"/}}Suppression d’utilisateurs = |
| 82 | |||
| 83 | Il est possible de supprimer tout ou partie selon critères des utilisateurs de la base LDAP DigDash. | ||
| 84 | |||
| 85 | |=Tag|=Description | ||
| 86 | |**-removeall**|Supprime TOUS les utilisateurs présents dans LDAP ET la licence. | ||
| |
19.1 | 87 | |**-removeall -attr **"nom de l'attribut ldap" **-regexp **"valeur de l'attribut ou expression régulière"|Supprime tous les utilisateurs dont la valeur de l'attribut ldap sépcifié vérifie l'expression régulière. |
| 88 | |**-removeall -license_type **"all.missing.forbidden.[type d'utilisateur]"|((( | ||
| |
5.1 | 89 | Supprime tous les utilisateurs selon leur type ou leur statut dans la licence : |
| 90 | |||
| 91 | * **all** : tous | ||
| 92 | * **missing **: les utilisateurs absents de la licence | ||
| 93 | * **forbidden** : les utilisateurs dans la licence mais non autorisés | ||
| 94 | * **[type d'utilisateur]** : les valeurs possibles sont **named**, **extranet**, **concurrent**, **public**, **broadcast**. | ||
| 95 | Aucun, un ou plusieurs valeurs sont utilisables, séparés par un ".". | ||
| |
7.1 | 96 | Exemple : named.extranet ou missing.extranet.named |
| |
5.1 | 97 | |
| 98 | Au moins un de ces paramètres doit être utilisé. | ||
| |
4.1 | 99 | ))) |
| |
2.1 | 100 | |
| 101 | = {{id name="__RefHeading___Toc478_3721803795"/}}Exportation d’utilisateurs = | ||
| 102 | |||
| 103 | Il est possible d’exporter les utilisateurs de la base LDAP. | ||
| 104 | |||
| 105 | **Options :** | ||
| 106 | |||
| 107 | |=Tag|=Description | ||
| 108 | |**-export**|Exporte tous les utilisateurs dans un fichier CSV. Par défaut, le fichier d’export se nomme users_export.csv. | ||
| 109 | |**-exportfile** "file.csv"|Exporte tous les utilisateurs dans le fichier CSV mentionné par son chemin absolu (précédé de **-export**). | ||
| 110 | |||
| |
1.1 | 111 | (% id="HIV.Exemples" %) |
| |
3.1 | 112 | = {{id name="__RefHeading___Toc1856_2652393712"/}}Paramètres généraux = |
| |
1.1 | 113 | |
| |
3.1 | 114 | |(% colspan="2" %)**Logs** |
| 115 | |**-log** "C:\temp"|Le fichier log sera créé dans le répertoire spécifié, nommé de la manière suivante : importtool-yyyy-mm-dd_hh-mm-ss.log. | ||
| 116 | |**-log** "C:\log.txt"|Le fichier log sera créé dans le répertoire et sous le nom spécifiés. | ||
| 117 | |(% colspan="2" %)**Autres** | ||
| 118 | |**-loginForm**|Force l’authentification LDAP dans le cas SSO. | ||
| 119 | |||
| 120 | = Exemples = | ||
| 121 | |||
| |
1.1 | 122 | * **java -jar importtools.jar** |
| |
9.2 | 123 | * **java -jar importtools.jar -conf ../importtools/conf.xml -users ../importtools/users.xls -out ../importtools/out.xml** |
| 124 | * **java -jar importtools.jar -conf ../importtools/conf.xml -users ../importtools/users.xls -out ** **../importtools/out.xml -import -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin** | ||
| |
1.1 | 125 | * **java -jar importtools.jar -export -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin** |
| 126 | * **java -jar importtools.jar -export -exportfile "D:\my_users_export.csv" -server http:~/~/localhost:8080 -domain ddenterpriseapi -loginForm -user admin -pass admin** | ||
| 127 | * **java -jar importtools.jar -removeall -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin** | ||
| 128 | * **java -jar importtools.jar -removeall -attr "license_type" -regexp "extranet" -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin** | ||
| 129 | * **java -jar importtools.jar -removeall -attr "uid" -regexp "toto1[0-9]*" -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin** | ||
| 130 | |||
| |
12.1 | 131 | = Résolution d'erreur d'encodage sous Windows = |
| 132 | |||
| 133 | Sous Windows, il peut y avoir des erreurs d'encodage. Afin de pallier à ces erreurs, il faut rajouter la commande suivante lors de l'export : | ||
| 134 | |||
| 135 | {{code language="shell"}} | ||
| 136 | -Dfile.encoding=utf-8 | ||
| 137 | {{/code}} | ||
| 138 | |||
| 139 | Cette commande est un paramètre pour JAVA, il faut donc la placer en amont des options pour l'importtool.jar. Par exemple : | ||
| 140 | |||
| |
14.1 | 141 | {{code language="shell"}} |
| |
13.1 | 142 | "C:\java.exe" -Dfile.encoding=utf-8 -jar "importtools.jar" %* -export -exportFile "export_.csv" -server https://serveur.digdash.com -domain ddenterpriseapi -user admin -pass "AdminPassWrd" |
| 143 | {{/code}} | ||
| |
12.1 | 144 | |
| |
16.1 | 145 | = Problématique de certificat SSL = |
| |
15.1 | 146 | |
| 147 | (% class="wikigeneratedid" id="HContexte" %) | ||
| 148 | L'exécution du module **importtools **afin d'importer des utilisateurs en masse sur un serveur DigDash protégé par un **certificat SSL, **depuis votre poste local ou un poste qui n'est pas le serveur DigDash, peut échouer en raison d'une mauvaise configuration du certificat SSL. | ||
| 149 | Vous êtes susceptibles d'obtenir le message suivant à l'exécution du script : | ||
| 150 | |||
| 151 | (% class="box errormessage" %) | ||
| 152 | ((( | ||
| 153 | 2020-11-09 20:39:34,407 INFO [main] (DDEnterpriseAPIRest.java:1593) - Exception raised (params: clientId=ImportTool, method=login, pass=~*~*~*~*~*~*, user=~#~#~#~##@~#~##.fr): Erreur de téléchargement de l'URL: https:~/~/~#~##.fr/~#~#~#~#DOMAINE~#~##/DDEnterpriseAuthServlet | ||
| 154 | ))) | ||
| 155 | |||
| 156 | (% class="wikigeneratedid" id="HContournement" %) | ||
| 157 | Pour contourner ce problème : | ||
| 158 | |||
| 159 | 1. Modifiez le fichier **importools.bat.** | ||
| 160 | 1. Ajoutez le paramètre **-DSSLNoPathCheck=true **avant **-jar **comme dans l'exemple ci-dessous : | ||
| 161 | |||
| 162 | (% class="box" %) | ||
| 163 | ((( | ||
| |
18.1 | 164 | java -Dlog4j.configuration="file:~/~//%importtoolshome%/import_log4j.properties" **-DSSLNoPathCheck=true** -jar "%importtoolshome%/importtools.jar" %* -conf conf.xml -users users.xls -out out.xml -import -server https:~/~/~#~##.fr -domain ~#~##DOMAINE~#~## -user admin -pass ~#~#PASS~#~# |
| |
15.1 | 165 | ))) |
| 166 | |||
| 167 |