Code source wiki de Outil d’importation d'utilisateurs
Modifié par Aurelie Bertrand le 2025/02/07 10:18
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) | ||
10 | |||
11 | ou | ||
12 | |||
13 | Il peut ê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). | ||
14 | |||
![]() |
2.1 | 15 | (% class="box infomessage" %) |
16 | ((( | ||
![]() |
1.1 | 17 | java -jar importtools.jar [-conf configfile] [-users userfile] [-out outputfile] |
![]() |
2.1 | 18 | ))) |
![]() |
1.1 | 19 | |
![]() |
9.1 | 20 | (% class="box warningmessage" id="HImportationd2019utilisateurs" %) |
21 | ((( | ||
22 | {{id name="__RefHeading___Toc474_3721803795"/}} | ||
![]() |
1.1 | 23 | |
![]() |
9.1 | 24 | Depuis la version 2022R1, la valeur du paramètre utilisateur **langChoice **est maintenant un code langue et non plus un index. Par exemple 0 est devenu "en", 1 est devenu "fr". Il faut prendre en compte ce changement et adapter vos scripts existants d'import des utilisateurs si besoin. |
25 | ))) | ||
26 | |||
27 | = Importation d’utilisateurs = | ||
28 | |||
![]() |
1.1 | 29 | Elle consiste principalement à avoir deux fichiers en entrée : |
30 | |||
31 | * 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). | ||
32 | * 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. | ||
33 | |||
34 | Et un fichier en sortie : | ||
35 | |||
36 | * 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. | ||
37 | |||
38 | |=Tag|=Description | ||
39 | |**-conf** <config file>|Chemin du fichier de configuration XML. Par défaut, conf.xml. | ||
40 | |**-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. | ||
41 | |**-out** <outputfile>|Chemin du fichier de sortie XML faisant le mapping avec LDAP. Par défaut, out.xml. | ||
42 | |**-help**|Commande d’aide d’usage. | ||
43 | |**-debug**|Affiche les traces dans les cas erreurs. | ||
44 | |**-import**|Envoie le fichier de sortie (par défaut out.xml) au serveur pour l’importer dans LDAP. | ||
45 | |**-importonly**|Utilise un fichier de sortie existant (par défaut, out.xml) et l’envoie au serveur pour l’importer dans LDAP. | ||
![]() |
11.1 | 46 | |**-server**|Adresse du serveur DigDash. |
47 | |**-domain**|Nom du domaine DigDash Enterprise (par exemple, ddenterpriseapi) | ||
![]() |
1.1 | 48 | |**-user**|L’utilisateur superviseur. |
49 | |**-pass**|Le mot de passe de l’utilisateur superviseur. | ||
50 | |||
![]() |
7.2 | 51 | = {{id name="__RefHeading___Toc476_3721803795"/}}Commandes d'ajout d'utilisateurs = |
52 | |||
53 | Un utilisateur peut être ajouté selon trois méthodes dans le LDAP : | ||
54 | |||
55 | == create == | ||
56 | |||
57 | Dans ce mode l'utilisateur sera ajouté si, et seulement si, il n'existe pas. | ||
58 | En d'autres termes, avec la commande create, l'ajout d'un utilisateur existant est une erreur. | ||
59 | |||
60 | == overwrite == | ||
61 | |||
62 | Cette commande va écraser un utilisateur existant. | ||
63 | Plus précisément il va être effacé avant d'un créé complètement avec les nouveaux attributs. | ||
64 | Si l'utilisateur n'existe pas au préalable, il sera simplement ajouté. | ||
65 | |||
66 | == update == | ||
67 | |||
68 | Cette commande va mettre à jour l'utilisateur avec les attributs contenus dans votre fichier d'import. | ||
69 | L'utilisateur doit donc exister au préalable. Il ne sera pas effacé. | ||
70 | |||
![]() |
2.1 | 71 | = {{id name="__RefHeading___Toc476_3721803795"/}}Suppression d’utilisateurs = |
72 | |||
73 | Il est possible de supprimer tout ou partie selon critères des utilisateurs de la base LDAP DigDash. | ||
74 | |||
75 | |=Tag|=Description | ||
76 | |**-removeall**|Supprime TOUS les utilisateurs présents dans LDAP ET la licence. | ||
![]() |
19.1 | 77 | |**-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. |
78 | |**-removeall -license_type **"all.missing.forbidden.[type d'utilisateur]"|((( | ||
![]() |
5.1 | 79 | Supprime tous les utilisateurs selon leur type ou leur statut dans la licence : |
80 | |||
81 | * **all** : tous | ||
82 | * **missing **: les utilisateurs absents de la licence | ||
83 | * **forbidden** : les utilisateurs dans la licence mais non autorisés | ||
84 | * **[type d'utilisateur]** : les valeurs possibles sont **named**, **extranet**, **concurrent**, **public**, **broadcast**. | ||
85 | Aucun, un ou plusieurs valeurs sont utilisables, séparés par un ".". | ||
![]() |
7.1 | 86 | Exemple : named.extranet ou missing.extranet.named |
![]() |
5.1 | 87 | |
88 | Au moins un de ces paramètres doit être utilisé. | ||
![]() |
4.1 | 89 | ))) |
![]() |
2.1 | 90 | |
91 | = {{id name="__RefHeading___Toc478_3721803795"/}}Exportation d’utilisateurs = | ||
92 | |||
93 | Il est possible d’exporter les utilisateurs de la base LDAP. | ||
94 | |||
95 | **Options :** | ||
96 | |||
97 | |=Tag|=Description | ||
98 | |**-export**|Exporte tous les utilisateurs dans un fichier CSV. Par défaut, le fichier d’export se nomme users_export.csv. | ||
99 | |**-exportfile** "file.csv"|Exporte tous les utilisateurs dans le fichier CSV mentionné par son chemin absolu (précédé de **-export**). | ||
100 | |||
![]() |
1.1 | 101 | (% id="HIV.Exemples" %) |
![]() |
3.1 | 102 | = {{id name="__RefHeading___Toc1856_2652393712"/}}Paramètres généraux = |
![]() |
1.1 | 103 | |
![]() |
3.1 | 104 | |(% colspan="2" %)**Logs** |
105 | |**-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. | ||
106 | |**-log** "C:\log.txt"|Le fichier log sera créé dans le répertoire et sous le nom spécifiés. | ||
107 | |(% colspan="2" %)**Autres** | ||
108 | |**-loginForm**|Force l’authentification LDAP dans le cas SSO. | ||
109 | |||
110 | = Exemples = | ||
111 | |||
![]() |
1.1 | 112 | * **java -jar importtools.jar** |
![]() |
9.2 | 113 | * **java -jar importtools.jar -conf ../importtools/conf.xml -users ../importtools/users.xls -out ../importtools/out.xml** |
114 | * **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 | 115 | * **java -jar importtools.jar -export -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin** |
116 | * **java -jar importtools.jar -export -exportfile "D:\my_users_export.csv" -server http:~/~/localhost:8080 -domain ddenterpriseapi -loginForm -user admin -pass admin** | ||
117 | * **java -jar importtools.jar -removeall -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin** | ||
118 | * **java -jar importtools.jar -removeall -attr "license_type" -regexp "extranet" -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin** | ||
119 | * **java -jar importtools.jar -removeall -attr "uid" -regexp "toto1[0-9]*" -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin** | ||
120 | |||
![]() |
12.1 | 121 | = Résolution d'erreur d'encodage sous Windows = |
122 | |||
123 | 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 : | ||
124 | |||
125 | {{code language="shell"}} | ||
126 | -Dfile.encoding=utf-8 | ||
127 | {{/code}} | ||
128 | |||
129 | Cette commande est un paramètre pour JAVA, il faut donc la placer en amont des options pour l'importtool.jar. Par exemple : | ||
130 | |||
![]() |
14.1 | 131 | {{code language="shell"}} |
![]() |
13.1 | 132 | "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" |
133 | {{/code}} | ||
![]() |
12.1 | 134 | |
![]() |
16.1 | 135 | = Problématique de certificat SSL = |
![]() |
15.1 | 136 | |
137 | (% class="wikigeneratedid" id="HContexte" %) | ||
138 | 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. | ||
139 | Vous êtes susceptibles d'obtenir le message suivant à l'exécution du script : | ||
140 | |||
141 | (% class="box errormessage" %) | ||
142 | ((( | ||
143 | 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 | ||
144 | ))) | ||
145 | |||
146 | (% class="wikigeneratedid" id="HContournement" %) | ||
147 | Pour contourner ce problème : | ||
148 | |||
149 | 1. Modifiez le fichier **importools.bat.** | ||
150 | 1. Ajoutez le paramètre **-DSSLNoPathCheck=true **avant **-jar **comme dans l'exemple ci-dessous : | ||
151 | |||
152 | (% class="box" %) | ||
153 | ((( | ||
![]() |
18.1 | 154 | 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 | 155 | ))) |
156 | |||
157 |