You are not logged in.
Pages: 1
Topic closed
Bonjour,
Je m'interesse depuis peu à OCS et GLPI. Le projet m'interesse et concerne un parc d'environ 2000 machines ventilées sur une trentaine de sites.
Tout fonctionne bien, via les agents les pc remontent bien dans OCS puis dans GLPI via le plugin mass_import et une tâche planifiée. (Une machine supprimée dans OCS est bien supprimée dans glpin à l'execution de la tâche planifiée, nikel !)
Maintenant je compte donner un accès par gestionnaire de site, j'ai créé des entités (la variable est le début de l'adresse ip est...), après une première synchro manuelle, nickel chaque gestionnaire de site ne voit que les machines de son parc.
Ma question: je voudrai que les gestionnaires de parc puisse supprimer une machine dans glpi, mais en testant, je constate qu'elle ne disparait pas dans OCS, est ce normal ?
J'ai vu dans le forum une question similaire qui conseillait la création d'une entité rebut, les nouvelles version de glpi mettent elles maintenant à jour la base OCs lors d'un changement dans glpi ?
Comment faire du coup pour avoir une base OCS synchro avec la base glpi ? peut-on imaginer qu'en empechant les gestionnaires de sites de purger la corbeille, on estime que la machine ne pourra pas être à nouveau synchronisée vers glpi et qu'elle restera donc supprimée de glpi ? Ca signifie qu'on ne se base en réalité que sur la base glpi et non pas sur la base OCS ?
Je sais que ce n'est pas forcément clair mais malgré une grosse activité sur le forum , force est de constater qu'en l'absence d'une doc complète centralisé le produit reste difficiel d'accès, c'est dommage car il correspond exactement à mes besoins
PS; j'ai passé pas mal d'heure à chercher les réponses mais la mode aujourd'hui est au résultat lol
Offline
Ma question: je voudrai que les gestionnaires de parc puisse supprimer une machine dans glpi, mais en testant, je constate qu'elle ne disparait pas dans OCS, est ce normal ?
Oui, c'est normal.
Il existe un script (removeMachinesFromOcs) qui permet de nettoyer OCS.
La solution de l'entité "rebus" est surtout destiné à conserver une machine retirée du parc mais conservée dans l'attente de sa destruction.
++
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
bigmojo wrote:Ma question: je voudrai que les gestionnaires de parc puisse supprimer une machine dans glpi, mais en testant, je constate qu'elle ne disparait pas dans OCS, est ce normal ?
Oui, c'est normal.
Il existe un script (removeMachinesFromOcs) qui permet de nettoyer OCS.
La solution de l'entité "rebus" est surtout destiné à conserver une machine retirée du parc mais conservée dans l'attente de sa destruction.
++
Merci pour la réponse, donc en résumé il ne se fait pas de synchronisation dans OCS
lors de modifs dans GLPI.
Le script removeMachinesFromOcs, c'est un plugin à télécharger ou une ligne de commande ? (Je suis plutôt un autodidacte en informatique ). Comment l'utilise t-on ? On peut comme mass_ocs_import le lancer en tâche planifiée, et lorsqu'à un moment T il est lancé il purge OCS en fonction des éléments présents dans GLPI ?
C'est le dernier élément à comprendre pour moi avant de commencer à réfléchir à une stratégie de mise en production
Offline
removeMachinesFromOcs est un plugin.
Il fournit uniquement un script à lancer en ligne de commande ou à partir d'un cron (sous Linux, aucune idée de savoir s'il peut fonctionner sous Windows).
++
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Euh, j'ai fait le tour des plugins mais je vois pas le quel c'est emoveMachinesFromOcs ???
Offline
Xavier Caillaud
Blog GLPI Infotel
Offline
Merci, j'vais creuser ce truc
Offline
Bon, je rappelle l'axiome de base: je suis une chèvre
Dans le répertoire c:\Program Files\OCS Inventory NG\xampp\htdocs\GLPI\plugins j'ai créé un répertoire Nettoyage_OCS dans lequel j'ai placé le fichier remove_from_ocs.php et le batch que j'ai créé (voir plus bas)
Donc je lance le batch qui renferme la commande suivante:
php -f remove_from_ocs.php --ocs_server_id=1784 --mode=list --nb_month=12
pour lister sur les 12 derniers mois sur le serveur OCS dont l'ID dans GLPI est 1784 les machines qui n'ont pas envoyer d'inventaire. j'obtiens cetteb réponse:
C:\Program Files\OCS Inventory NG\xampp\htdocs\GLPI\plugins\Nettoyage_OCS>php -f
remove_from_ocs.php --ocs_server_id=1784 --mode=list --nb_month=12
Warning: include(../../../inc/includes.php): failed to open stream: No such file
or directory in C:\Program Files\OCS Inventory NG\xampp\htdocs\GLPI\plugins\Net
toyage_OCS\remove_from_ocs.php on line 55
Warning: include(): Failed opening '../../../inc/includes.php' for inclusion (in
clude_path='.;C:\Program Files\OCS Inventory NG\xampp\php\pear\') in C:\Program
Files\OCS Inventory NG\xampp\htdocs\GLPI\plugins\Nettoyage_OCS\remove_from_ocs.p
hp on line 55
No ocs_server_id option
Si vous avez une idée.....
Last edited by bigmojo (2008-10-28 13:17:31)
Offline
Ce script est prévu pour être installé dans le dossier glpi/plugins/removeMachinesFromOcs/scripts.
Dans ton cas il manque donc 1 niveau dans l'arborescence, c'est pourquoi il trouve pas les include.
++
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
C'est mieux on dirait, avec encore le message suivant:
C:\Program Files\OCS Inventory NG\xampp\htdocs\GLPI\plugins\RemoveMachinesFromOc
s\Scripts>php -f remove_from_ocs.php --ocs_server_id=1784 --mode=list --nb_month
=12
No ocs_server_id option
Dans GLPI pourtant l'ID de mon serveur qui apparait dans la colonne ID est bien 1784 (dans la doc fournie avec le script php il est bien noté: "ocs_server_id : ID du serveur OCS dans GLPI (pas son nom !)"
Doit pas manquer grand chose
Last edited by bigmojo (2008-10-28 14:08:56)
Offline
c'est l'id du serveur OCS, que vous pouvez voir dans la conf du mode ocsng
Offline
Oui, j'avais regardé, dans le menu Configuration Mode OCSNG j'ai localhost comme gabarit, et dans localhost Configuration du module d'import OCS NG => GLPI le nom est localhost (rien qui n'indique un autre ID). Mais j'ai le même message:
C:\Program Files\OCS Inventory NG\xampp\htdocs\GLPI\plugins\RemoveMachinesFromOc
s\Scripts>php -f remove_from_ocs.php --ocs_server_id=localhost --mode=list --nb_
month=12
No ocs_server_id option
??? désolé d'être un boulet
Offline
non l'id c'est pas localhost, l'id c'est le chiffre que vous allez trouver dans l'url quand vous cliquez sur le serveur localhost
Offline
Alors quand je clique sur le serveur localhost, j'obtiens dans la barre d'adresse de mon navigateur ceci:
http://v-fus00237b/glpi/front/ocsng.form.php?ID=1
je mets donc 1 comme id mais le messagze reste le même:
C:\Program Files\OCS Inventory NG\xampp\htdocs\GLPI\plugins\RemoveMachinesFromOc
s\Scripts>php -f remove_from_ocs.php --ocs_server_id=1 --mode=list --nb_month=12
No ocs_server_id option
Et si je clique sur le serveur dans l'inventaire, l'ID=1784 et pas mieux ..
Voilà exactement ce qui se trouve dans mon fichier run.bat:
php -f remove_from_ocs.php --ocs_server_id=1 --mode=list --nb_month=12
là j'vois plus
C'est dommage, me manque plus que ça pour coupler avec mon OCS en prod.
Last edited by bigmojo (2008-10-28 15:40:11)
Offline
php -f remove_from_ocs.php --ocs_server_id=1 --mode=list --nb_month=12
c'est du php et pas du shell donc :
php -f remove_from_ocs.php -- ocs_server_id=1 mode=list nb_month=12
Offline
Au début du script tu peux essayer de remplacer
if ($argv) {
for ($i=1;$i<count($argv);$i++)
{
//To be able to use = in search filters, enter \= instead in command line
//Replace the \= by ° not to match the split function
$arg=str_replace('\=','°',$argv[$i]);
Par
if (isset($_SERVER["argv"])) {
for ($i=1 ; $i<$_SERVER["argc"] ; $i++) {
$arg=str_replace('\=','°',$_SERVER["argv"][$i]);
++
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
bigmojo wrote:php -f remove_from_ocs.php --ocs_server_id=1 --mode=list --nb_month=12
c'est du php et pas du shell donc :
php -f remove_from_ocs.php -- ocs_server_id=1 mode=list nb_month=12
Coolll, ça fonctionne parfaitement, merci ..
Offline
Au début du script tu peux essayer de remplacer
if ($argv) { for ($i=1;$i<count($argv);$i++) { //To be able to use = in search filters, enter \= instead in command line //Replace the \= by ° not to match the split function $arg=str_replace('\=','°',$argv[$i]);
Par
if (isset($_SERVER["argv"])) { for ($i=1 ; $i<$_SERVER["argc"] ; $i++) { $arg=str_replace('\=','°',$_SERVER["argv"][$i]);
++
Ca a l'air super bien... mais à quoi ça peut servir lol ?? désolé je connais rien aux languages et là c'est du chinois pour moi ..
Offline
ben si ça fonctionne sans la modif, laisse tomber
++
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline
Ok, merci à tous pour vos efforts et votre patience.
Offline
Pages: 1
Topic closed