You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2014-11-12 11:57:56

Erwan35
Member
Registered: 2014-08-28
Posts: 23

Problème mise à jour usager ecran de ocs vers glpi

Bonjour,

J'utilise la version 0.84.7 de glpi avec le plugin OCSNG.

Les ordinateurs sont bien synchronisés. Par contre, quand je met un écran à quelqu'un d'autre, l'usager de l'écran n'est pas mis à jour. Dans OCS Inventory, l'écran est bien mis à jour.

Dans les réglage du plugin, j'ai mis ça
Moniteurs: import unique sur numéro de série

Avez-vous ce problème aussi?


GLPI 0.84.7-Operating system : Windows 2012 Server- XAMPP 1.7.7  - Apache/2.2.21MySQL-5.0.8-dev

Offline

#2 2014-11-13 15:33:47

Erwan35
Member
Registered: 2014-08-28
Posts: 23

Re: Problème mise à jour usager ecran de ocs vers glpi

Lorsque je fais "Forcer synchronisation OCSNG" dans GLPI/Ordinateurs, l'usager du moniteur est bien modifié.

Par contre, je ne comprends pas pourquoi la tâche planifiée Windows ne le fait pas automatiquement.

plugin OCSInventoryNG dans GLPI ->méthode de synchronisation: Expert.

tâche planifiée toutes 2 heures sur un Windows server 2012:

script:
REM Placer vous dans le dossier ou se trouve le script
cd "C:\xampp\htdocs\glpi\plugins\ocsinventoryng\scripts\"
REM Exécuter php.exe avec le script
php.exe run.php --thread_nbr=1 --server_id=1


GLPI 0.84.7-Operating system : Windows 2012 Server- XAMPP 1.7.7  - Apache/2.2.21MySQL-5.0.8-dev

Offline

#3 2014-11-15 18:29:20

Neutro
Member
Registered: 2014-09-03
Posts: 34

Re: Problème mise à jour usager ecran de ocs vers glpi

Salut,

J'ai été confronté au même problème que toi.

Quand tu connectes un écran d'un PC A sur un autre PC B, il y a plusieurs possibilités :

1°) l'inventaire OCS se fait d'abord sur le PC A puis sur le PC B. L'écran est supprimé de la base de donnée d'OCS car il n'est plus connecté sur l'écran A. Il est ensuite recréé et rattaché au PC B dans cette même base de donnée. Lorsque tu fais l'import OCS vers GLPI, tout fonctionne.

2°) l'inventaire OCS se fait d'abord sur le PC B puis sur le PC A.

       a) l'import GLPI se produit après que l'inventaire du PC A remonte sur OCS

L'écran est importé dans la base de donnée d'OCS en créant un doublon avec le numéro de série du PC A. L'inventaire du PC B supprime le premier enregistrement dans la BDD d'OCS => l'import sur GLPI fonctionne correctement, tout est bon.

       b) l'import GLPI se produit avant que l'inventaire du PC A remonte sur OCS

L'écran est importé dans la base de donnée d'OCS en étant lié à l'écran B alors que l'enregistrement de l'écran connecté à l'écran A n'est pas supprimé. Cela crée donc un doublon d'écran dans la base de donnée d'OCS.

Et c'est là que cela pose problème : lorsque GLPI importe les données des 2 PC depuis OCS, l'import du doublon ne se fait pas à cause du paramètre "import unique sur numéro de série". La mise à jour des informations de l'écran ne se fait donc pas non plus. A la prochaine importation de GLPI, lorsque l'inventaire du PC A sera mis à jour dans OCS, étant donné que l'inventaire du PC B a déjà été importé, il ne se remettra plus à jour dans GLPI tant qu'il n'aura pas été de nouveau modifié, ce qui peut prendre beaucoup de temps.

Lorsque tu forces manuellement la synchronisation du PC B, cela règle le problème car l'écran n'existant plus par rapport à l'inventaire du PC A, tu redeviens comme dans le cas n°1 et tout fonctionne.

Conclusion : le problème vient d'OCS qui ne vérifie pas si un écran existe déjà avant de l'importer dans sa base de donnée.

J'ai ouvert un incident sur le site d'OCS pour que le bug soit résolu :

https://bugs.launchpad.net/ocsinventory … ug/1372121

Mais pour le moment ce n'est toujours pas le cas.

J'ai réglé le problème chez nous en attendant en executant les requetes SQL suivantes avant l'import OCS -> GLPI pour supprimer les doublons d'écrans et ne garder que les informations les plus récentes :

create table tempid (id INT)

ALTER TABLE monitors ADD asupprimer text;

insert into tempid select id FROM `monitors` where serial <> '' AND id NOT IN (
        select id from monitors WHERE ID IN (SELECT id FROM (SELECT max(id) id FROM monitors GROUP BY serial) AS temp) AND serial <> ''
);

update monitors, tempid
set monitors.asupprimer = 'oui'
where monitors.id = tempid.id;

delete from monitors where asupprimer = 'oui';

delete from tempid;

alter table monitors drop column asupprimer;

Je t'invite ainsi à créer un compte sur la plateforme de report de bugs d'OCS, d'aller sur le lien ci-dessus pour ajouter un commentaire en confirmant que tu as le même problème, ce qui accélèrera peut-être les choses smile

Last edited by Neutro (2014-11-15 18:35:21)


GLPI 0.84.7 - Plugins : data_injection 2.3.1 - OCS Inventory NG 1.0.3 - Barscode 1.0
OCS Inventory 2.1.2 clients + serveur / Hébergement local sur serveur Dell R320 RHEL 6.5
Scan des code-barres grâce à l'application "QR Droid" sur smartphones android
Parc de 300 postes

Offline

Board footer

Powered by FluxBB