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 2017-07-25 14:49:00

FrancoisDBL
Member
Registered: 2017-07-25
Posts: 2

Script PHP

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.

Query SQL

Malheureusement Java est installé sur une des 3 machines donc la query ne fonctionne pas.
Cependant cela fonctionne pour le logiciel "binutils" :
Query SQL


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

#2 2017-08-10 08:21:23

FrancoisDBL
Member
Registered: 2017-07-25
Posts: 2

Re: Script PHP

up

Offline

#3 2017-08-10 10:54:37

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,146

Re: Script PHP

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

Offline

#4 2017-08-10 11:18:52

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,146

Re: Script PHP

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

Offline

Board footer

Powered by FluxBB