You are not logged in.
Pages: 1
Bonjour à vous !
version glpi : 0.84.5
J'ai créé un plugin permettant d'éteindre/allumer/redémarrer un poste à distance par l'intermédiaire des adresses mac et nom des pc (ou ip).
Mais seulement, je n'arrive pas à récupérer tous les ordinateurs. Le problème vient de ma requête SQL car je connais très peu les dépendances entre chaque tables.
je sèche pour lier l'addresse MAC à mes ordinateurs
Objectif : récupérer l'adresse MAC de tout les postes inventoriés
Voici ma requête :
SELECT DISTINCT upper(NWP.mac) macaddr, C.name nom_poste
FROM glpi_networkports NWP,glpi_ipaddresses IP,glpi_computers C
WHERE IP.id=NWP.id
AND NWP.items_id = C.id
AND IP.binary_3 <> \'0\'
AND IP.name LIKE \'192.168%\'
;
Merci d'avance pour toute aide éventuelle.
Last edited by zac.bouvy (2014-05-28 15:26:57)
Offline
avec un truc comme ça ?
SELECT DISTINCT upper(`glpi_networkports`.`mac`), upper(`glpi_computers_devicenetworkcards`.`specificity`), `glpi_computers`.`name`
FROM `glpi_computers`
LEFT JOIN `glpi_computers_devicenetworkcards` ON `glpi_computers`.`id` = `glpi_computers_devicenetworkcards`.`computers_id`
LEFT JOIN `glpi_networkports` AS glpi_networkports ON `glpi_computers`.`id` = `glpi_networkports`.`items_id` AND `glpi_networkports`.`itemtype` = 'Computer'
WHERE `glpi_computers`.`is_deleted` = '0' AND `glpi_computers`.`is_template` = '0' AND `glpi_networkports`.`ip` LIKE '192.168.%'
Last edited by LaDenrée (2014-05-28 14:10:40)
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Salut et merci de me venir en aide
Cependant la table glpi_computers_devicenetworkcards n'existe pas dans ma base de donnée glpi !
Sais-tu comment la récupérer ? Quelles sont les données qu'elle contient ?
Last edited by zac.bouvy (2014-05-28 15:09:38)
Offline
d'où l'importance d'indiquer la version de glpi dans les demandes...
si la table n'existe pas il est possible de supprimer la jointure dans ma proposition.
Last edited by LaDenrée (2014-05-28 15:15:00)
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
version glpi : 0.84.5
vraiment navré..
dommage alors.. Je me demande s'il existe une table qui permet de faire le lien entre glpi_computers et glpi_networkports
Même en enlevant la jointure puisque l'ip n'éxiste pas dans ma version en tant qu'attribut de glpi_networkports
Last edited by zac.bouvy (2014-05-28 15:24:42)
Offline
une astuce pour retrouver les tables necessaires :
passe en mode debug, et fait une recherche d'un PC sur une adresse MAC, la requète s'affiche en dessous, il ne te restera plus qu'à analyser et faire le ménage pour garder les tables et les champs qui t'interressent.
je n'ai pas sous la main de version 84.5 pour rechercher les tables...
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Merci ! je pense pouvoir m'en sortir avec ta méthode
Last edited by zac.bouvy (2014-05-28 15:26:32)
Offline
J'arrive bien à remonter proprement tout ce que je veux. Le problème c'est que dans glpi, il associe plusieurs adresse MAC à un seul id de poste, ce qui est paradoxalement impossible..
Exemple :
Du coup lorsque j'envois un packet magic, j'ai plusieurs adresses mac a suivre donc c'est pas top
Je vais couper ma variable avec php mais c'est dommage
Last edited by zac.bouvy (2015-04-22 14:50:30)
Offline
L'adresse Mac est lié à la carte réseau, non ? avec une carte ethernet et du wifi on arrive à 2 adresses mac pour une machine non ?
reste à selectionner la bonne pour eteindre le PC.
la requète doit remonter "toutes les adressesMac de la machine dont une des adresse ip est 172..."
en rédigeant "toutes des adresses mac des connexions dont l'ip est 172..." c'est à dire rechercher la carte reseau pas le PC ça devrait limiter ...
Last edited by LaDenrée (2014-05-28 16:14:34)
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Oui tu as raison. Je galère à trouver... car j'ai pas d'ip qui commencent par 172...
J'ai plutôt des choses comme ça :
Last edited by zac.bouvy (2015-04-22 14:50:46)
Offline
ben voilà : si on regarde il n'y a qu'une adresse mac par machine correspondant à l'IP 192.168.xxx.xxx
reste à trouver le lien entre les tables qui stockent ces infos et le lien avec le PC.
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Oui tout à fait
Merci pour le temps que tu m'as consacré !
Offline
Pages: 1