Page 1 sur 3

[Corrigé 3.2.8] Problème synchronisation AD

Posté : jeu. 14 janv. 2021 10:58
par fabrice
Bonjour la synchronisation Active directory me recréer les utilisateurs à chaque synchronisation sans prendre en compte qu'ils existent déjà
merci

Re: probleme synchronisation AD

Posté : jeu. 14 janv. 2021 11:04
par Flox
Bonjour,

je ne reproduis pas le soucis de mon côté, pouvez-vous activer temporairement le mode debug de l'application puis transmettre un impression écran d'une simulation de synchronisation en MP.

Merci également d'indiquer si le problème était observé dans la version 3.2.6 ?

Cdt

Re: probleme synchronisation AD

Posté : jeu. 14 janv. 2021 11:09
par fabrice
je vous ai envoyé le debug par MP

Re: probleme synchronisation AD

Posté : jeu. 14 janv. 2021 11:11
par Flox
J'ai réussi à reproduire le problème avec votre version de PHP.

Pourrez-vous tester le patch en pièce jointe ?

Pour installer ce patch : extraire le contenu du fichier compressé à la racine de votre serveur en écrasant les fichiers

Cdt

Re: probleme synchronisation AD

Posté : jeu. 14 janv. 2021 11:12
par fabrice
je ne trouve pas de patch

Re: probleme synchronisation AD

Posté : jeu. 14 janv. 2021 11:13
par Flox
le patch en pièce jointe ci-dessus

Re: probleme synchronisation AD

Posté : jeu. 14 janv. 2021 11:21
par fabrice
Ça a l'air fonctionnel mais j'ai toujours mes utilisateurs en 7 fois

Re: probleme synchronisation AD

Posté : jeu. 14 janv. 2021 11:28
par fabrice
est-ce qu'on peut résoudre ça avec une requêtes sql ?

Re: probleme synchronisation AD

Posté : jeu. 14 janv. 2021 11:29
par Flox
Je travaille sur cette dernière et reviens vers vous.

Re: probleme synchronisation AD

Posté : jeu. 14 janv. 2021 11:34
par Flox
Pour la supression des doublons faites une sauvegarde la base de données via PhpMyAdmin puis :

Pour l'élimination des doublons vous pourrez les lister avec cette requête:

Code : Tout sélectionner

SELECT COUNT(*) AS doublons, login
FROM tusers
WHERE login!=''
GROUP BY login
HAVING COUNT(*) > 1
et les supprimer avec cette requête, l'identifiant le plus petit est conservé (faite une sauvegarde avant):

Code : Tout sélectionner

DELETE tusers 
FROM tusers
LEFT OUTER JOIN (
        SELECT MIN(id) as id, login
        FROM tusers
        WHERE login!=''
        GROUP BY login
    ) AS table_1 
    ON tusers.id = table_1.id
WHERE table_1.id IS NULL