You are not logged in.
Pages: 1
Topic closed
Bonjour,
/////Environnement Windows Server 2008R2
/////WampServer 2.2
/////GLPI 0.85.2
Je rencontre une difficulté dans l'utilisation du script suivant, me permettant d'importer automatiquement les utilisateurs présents dans mon annuaire LDAP.
Script au format .bat qui envoi les paramètres au script "ldap_mass_sync.php" (non modifié), présent dans le répertoire script de GLPI
@echo off
cd "C:\wamp\www\glpi\scripts"
"C:\wamp\bin\php\php5.3.13\php.exe" ldap_mass_sync.php -server_id=2 action=0
Mon paramètre server_id correspond bien à mon serveur LDAP (Active Directory - Win2003 Server)
Pour info, je ne rencontre aucune difficulté pour importer ou synchroniser mes utilisateurs depuis l'interface de GLPI. Seul l'exploitation de ce script ne fonctionne pas (aucune importation ne s'effectue alors que des utilisateurs sont disponibles à l'import [visible depuis l'interface de GLPI]).
De plus, j'ai le retour suivant lors de l'exécution du script
LDAP extension is not active or no LDAP directory definedProcessing LDAP Server: MONSERVEUR, ID 2
Ce message correspond à cela dans le fichier ldap_mass_sync.php
if (!Toolbox::canUseLdap() || !countElementsInTable('glpi_authldaps')) {
echo "LDAP extension is not active or no LDAP directory defined";
}
Sur le net je trouve pas mal de sujet équivalent mais où même leur importation depuis GLPI ne fonctionne pas et qui provient souvent d'une mauvaise saisie des informations liées à leur Serveur LDAP. Hors dans mon cas tout fonctionne. J'ai essayé d'ajouter d'autres serveur LDAP afin de voir si il s'agit d'une erreur de résolution lié à l'ID. Mais qu'importe le serveur que j'appel, le résultat est toujours le même.
Si vous avez des pistes pour m'aider je suis preneur :=)
Merci
Offline
Je ne suis pas experte en cron sous windows, mais sous linux les paramètres sont à mettre obligatoirement avec --
Dans vos cas vous avez -server_id=2 (1 seul tiret au lieu de 2)
action=0 (aucun tiret)
Pour moi la commande correcte serait
"C:\wamp\bin\php\php5.3.13\php.exe" ldap_mass_sync.php --server_id=2 --action=0
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Salut,
Merci pour la réponse, je vais essayer ça.
C'est vrai que j'aurais dû penser à exécuter le script php en passant les paramètres en dure avant de passer par ce script.
Je tente
Offline
Problème Résolu ..
D'abord Merci Yllen car ta réponse m'a mise sur la bonne piste.
Deux choses à faire pour résoudre ce problème.
La première c'est que je n'appelais pas la bonne variable dans mon script.
Dans le script de glpi, la variable appelant le serveur s'appelle (dans la version 0.85 de GLPi) "ldapservers_id" et non pas "server_id" comme je l'appelais.
La seconde chose à faire était d'activer le module php_ldap.dll dans les 2 fichiers php.ini présent dans wamp (chose que j'avais faites dans seulement 1 des 2 fichiers)
C:\wamp\bin\apache\apache2.2.22\bin
C:\wamp\bin\php\php5.3.13
Voici donc un script fonctionnel pour faire fonctionner le script ldap_mass_sync.php de glpi
@echo off
REM Placer vous dans le dossier ou se trouve le script
cd "C:\wamp\www\glpi\scripts"
REM Exécuter php.exe avec le script et Importation des users
"C:\wamp\bin\php\php5.3.13\php.exe" ldap_mass_sync.php -ldapservers_id=2 action=0
REM temporisation
ping 127.0.0.1 -n 5 > NUL
REM Exécuter php.exe avec le script et Synchronisation des users
"C:\wamp\bin\php\php5.3.13\php.exe" ldap_mass_sync.php -ldapservers_id=2 action=1
ping 127.0.0.1 -n 5 > NUL
Encore merci Yllen et GLPi
Offline
Petit plus,
Certains rencontrerons surement le soucis de la limite requête lié à LDAP (LDAP Server Size Limit Exceeded)
Pour contourner ce problème sans avoir à augmenter le MaxPageSize de votre serveur LDAP, vous pouvez rajouter un filtre dans votre script afin de requêter de manière ciblée.
Voici le résultat:
@echo off
REM Placer vous dans le dossier ou se trouve le script
cd "C:\wamp\www\glpi\scripts"
REM Exécuter php.exe avec le script et Importation des users
"C:\wamp\bin\php\php5.3.13\php.exe" ldap_mass_sync.php -ldapservers_id=2 action=0 ldap_filter="(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"
REM Exécuter php.exe avec le script et Synchronisation des users
"C:\wamp\bin\php\php5.3.13\php.exe" ldap_mass_sync.php -ldapservers_id=2 action=1 ldap_filter="(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"
Offline
Merci du retour. Je clos
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Pages: 1
Topic closed