You are not logged in.
Pages: 1
Bonjour à tous,
Je souhaiterais utiliser la force de GLPI et de ses scripts PHP.
J'ai réaliser un script qui permet de sortir une liste des ordinateurs ayant "XXXX" logiciel d'installé dessus. Cela me sort une ligne par logiciel, donc plus facile à traiter qu'une ligne par ordinateur.
Maintenant j'aimerais faire un script pour sortir la liste des ordinateurs n'ayant PAS "XXXX" d'installé dessus. Cela est possible sur l'interface graphique, mais cela sort le nom de l'ordinateur et la liste de TOUT les logiciels installés dessus. Il me faudrait uniquement le nom de la machine.
Ce qui me bloque c'est la query SQL.
Malheureusement Java est installé sur une des 3 machines donc la query ne fonctionne pas.
Cependant cela fonctionne pour le logiciel "binutils" :
Est-ce que vous auriez une idée ? Est-ce que je me suis exprimé clairement ?
En vous souhaitant une agréable fin de journée ! Merci pour votre aide
Francois
Offline
up
Offline
je suis surpris quand vous écrivez "Cependant cela fonctionne pour le logiciel "binutils" : c'est un hasard, votre requète renvoie les ordinateurs de la racine (id=0) .
pour votre requète il faut des jointures avec plusieurs tables :
SELECT `glpi_computers`.`name` AS computername,`glpi_softwares`.`name` AS softname, `glpi_computers_softwareversions`.`id`, `glpi_states`.`name` AS state, `glpi_softwareversions`.`softwares_id`, `glpi_softwareversions`.`name` AS version FROM `glpi_computers_softwareversions` LEFT JOIN `glpi_softwareversions` ON (`glpi_computers_softwareversions`.`softwareversions_id` = `glpi_softwareversions`.`id`) LEFT JOIN `glpi_states` ON (`glpi_states`.`id` = `glpi_softwareversions`.`states_id`) LEFT JOIN `glpi_softwares` ON (`glpi_softwareversions`.`softwares_id` = `glpi_softwares`.`id`) LEFT JOIN `glpi_computers` ON `glpi_computers_softwareversions`.`computers_id`=`glpi_computers`.`id` WHERE `glpi_computers_softwareversions`.`is_deleted` = '0' and `glpi_softwares`.`name`='7-zip 9.20'
ORDER BY computername
Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6
préprod : glpi10.0.15
Offline
pour les PC qui n'ont pas un logiciel(remplacer 7-ZIP par votre recherche)
SELECT`glpi_computers`.`name` FROM `glpi_computers` WHERE NOT EXISTS
( SELECT `glpi_softwares`.`id` FROM `glpi_computers_softwareversions`
LEFT JOIN `glpi_softwareversions` ON (`glpi_computers_softwareversions`.`softwareversions_id` = `glpi_softwareversions`.`id`)
LEFT JOIN `glpi_states` ON (`glpi_states`.`id` = `glpi_softwareversions`.`states_id`)
LEFT JOIN `glpi_softwares` ON (`glpi_softwareversions`.`softwares_id` = `glpi_softwares`.`id`)
WHERE `glpi_computers_softwareversions`.`is_deleted` = '0' and `glpi_softwares`.`name`='7-ZIP 9.20' AND `glpi_computers_softwareversions`.`computers_id`=`glpi_computers`.`id`)
Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6
préprod : glpi10.0.15
Offline
Pages: 1