• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Déploiement avec FI Agent : utilisation d'un partage SMB/CIFS
#1
Bonjour

J'ai tenté de déployer une petite application par un autre moyen que le téléchargement de fichier .ZIP.

La tâche FI que j'ai créée contient une ligne de commande avec un chemin absolu vers un script :
\\nom-serveur\partage\chemin\vers\script.cmd

Je pense avoir tenté toutes les variantes possibles pour éviter de télécharger un .zip localement sur les machines, sans succès, comme si la façon qu'a FI Agent d'exécuter les commandes de sa tâche rendaient indisponibles les partages SMB/CIFS. (vérifié avec psexec -s => la ressource est disponible)

Qulqu'un a t il déjà essayé ?
Production : GLPI 0.84.8 + FusionInventory 3.5 + FI Agent 2.3.9 et 2.3.10.1
Plugin Custom Fields for GLPI 0.84 : https://forge.indepnet.net/projects/customfields
Plugin Simcard for GLPI 0.84 https://forge.indepnet.net/projects/simcard
Plugin MoreLDAP for GLPI 0.84 https://forge.indepnet.net/projects/moreldap
  Reply
#2
Bonjour

petit up mais pas seulement :

j'ai écrit ce petit script qui est téléchargé par FI Agent, puis lancé. Il sert à vérifier que mon partage SMB est bien accessible

Code:
if exist "\\serveur\partage\chemin\vers\script.cmd" (
    echo ok > c:\log.txt
    "\\serveur\partage\chemin\vers\script.cmd"
) else (
    echo nok > c:\log.txt
)

Il écrit OK ou NOK dans un fichier texte selon que le script de mon partage est visible ou non. Le log est créé avec le contenu "OK".

Donc le partage est visible, et le fichier accessible.

Cependant il m'est impossible de passer la main au script : FI Agent remonte l'erreur code 1.
Production : GLPI 0.84.8 + FusionInventory 3.5 + FI Agent 2.3.9 et 2.3.10.1
Plugin Custom Fields for GLPI 0.84 : https://forge.indepnet.net/projects/customfields
Plugin Simcard for GLPI 0.84 https://forge.indepnet.net/projects/simcard
Plugin MoreLDAP for GLPI 0.84 https://forge.indepnet.net/projects/moreldap
  Reply
#3
Bonjour,
Je n'ai pas encore eu l'occasion de mettre le nez dedans, mais le service étant démarré en compte système local, l'accès au partage risque de poser problème sauf si l'accès est autorisé aux anonymes.
A supposer que cela fonctionne, essai quand même un "cmd /c \\serveur\partage\chemin\vers\script.cmd" de façon à ce que le batch ne rende la main à l'agent qu'une fois toutes les commandes exécutées.
Un "start /wait \\serveur\partage\chemin\vers\script.cmd" aura le même effet mais il faut terminer le script.cmd par la commande "exit".

Si c'est un problème de droits, je suppose que comme tous services il est possible de démarrer "FusionInventory Agent" avec un compte de domaine qui accèdera au partage.
Glpi 0.85.2 + Plug'in Fusion Inventory 0.85+1.1 + Agents Fusion 2.3.15
Serveur Debian 7, Apache 2.2.22, PHP 5.4.36
  Reply
#4
Bonjour

J'ai déjà essayé de faire préfixer avec "cmd /C", sans meilleur résultat. Faire un start /wait aussi, mais sans passer par un script intermédiaire. Toutes les possibilités que j'ai testé bloquent sur l'accès au partage proprement dit.

Le bout de script que j'ai donné me permet de valider l'existence du fichier, mais pas son accès en lecture, je le concède. C'est pour cela que j'ai vérifié avec psexec -s si le fichier est bien lisible et exécutable.

L'accès à un partage avec le compte système local n'est pas un souci : déployer un logiciel par GPO, ou script de démarrage de PC se fait avec le compte système local (c'est lui qui correspond au compte d'ordinateur que tu trouves dans un controleur de domaine). La GPO ou le script de démarrage est quelque chose que j'ai beaucoup pratiqué. J'ai aussi fait du déploiement avec l'agent FOG qui fonctionne également en tant que service. Cet agent fait partie de la suite de déploiement PXE open source Fog Project (un excellent produit d'ailleurs). Ce que j'essaie avec FI Agent est ce que j'ai fait avec FOG Agent par le passé. (c'est la meilleure méthode maintenable selon moi : entretenir un .zip est plus fastidieux).

J'ai quand même vérifié l'accès au partage en utilisant psexec \\machine -s \\serveur\partage\chemin\vers\script.cmd et ça fonctionne.

Conclusion : le problème de droits est exclu car vérifié et re-vérifié. Par contre je me demande si il n'y a pas une limitation induite par la redirection de stdout qui semble être utilisée par l'agent FI. Comme je n'ai jamais fait de perl, et que je n'ai pas assez de temps pour ça je ne peux chercher moi même.
Production : GLPI 0.84.8 + FusionInventory 3.5 + FI Agent 2.3.9 et 2.3.10.1
Plugin Custom Fields for GLPI 0.84 : https://forge.indepnet.net/projects/customfields
Plugin Simcard for GLPI 0.84 https://forge.indepnet.net/projects/simcard
Plugin MoreLDAP for GLPI 0.84 https://forge.indepnet.net/projects/moreldap
  Reply
#5
Faut faire attention, y a des commandes qui ne passent pas quand tu les lance sur un chemin réseau (ca dépend aussi de la version du système d'exploitation)
Co-leader, official developper
DCS official PARTNER: dcs.glpi@dcsit-group.com
  Reply
#6
Bonjour

Lancé manuellement avec un compte administrateur, ça fonctionne depuis le partage. Aujourd'hui les programmes qui ne prennent pas en charge pleinement les partages sont asez rares (ou vraiment vieux, genre windows 95).

Dans mes tests c'est claiement le fait de lancer mon script par l'agent FI qui provoque une anomalie, mais je n'arrive pas à identifier exactement ce que c'est.

Si tu veux faire un essai, je peux te décrire comment reproduire le souci avec un simple déploiement de flash player en version .msi
Production : GLPI 0.84.8 + FusionInventory 3.5 + FI Agent 2.3.9 et 2.3.10.1
Plugin Custom Fields for GLPI 0.84 : https://forge.indepnet.net/projects/customfields
Plugin Simcard for GLPI 0.84 https://forge.indepnet.net/projects/simcard
Plugin MoreLDAP for GLPI 0.84 https://forge.indepnet.net/projects/moreldap
  Reply
#7
essaye de lancer 'cscript \\partage\toto\test.vbs' sur un xp et tu verra que ca n'est pas si vieux que ca Wink
Co-leader, official developper
DCS official PARTNER: dcs.glpi@dcsit-group.com
  Reply
#8
à cela je dirais que le problème est devenu obsolète Big Grin tu vois à quoi je fais allusion ?
Production : GLPI 0.84.8 + FusionInventory 3.5 + FI Agent 2.3.9 et 2.3.10.1
Plugin Custom Fields for GLPI 0.84 : https://forge.indepnet.net/projects/customfields
Plugin Simcard for GLPI 0.84 https://forge.indepnet.net/projects/simcard
Plugin MoreLDAP for GLPI 0.84 https://forge.indepnet.net/projects/moreldap
  Reply
#9
J'ai déjà utilisé des partages smb/cifs, mais je ne lance rien depuis ces partages. En fait, je recopie les fichiers dans un répertoire spécialement dédié à cela (ce qui permet de relancer localement l'installation si Pb) et je lance mes scripts depuis ces répertoires.

Cette solution est moins élegante, mais fonctionne bien.
  Reply
#10
Bonjour

Merci pour l'information : ca me plait comme contournement. Comme tu dis ce n'est pas très élégant mais si ça m'évite de gérer des .zip à chaque fois que je mets à jour mon paquetage, c'est déjà ça de pris.
Production : GLPI 0.84.8 + FusionInventory 3.5 + FI Agent 2.3.9 et 2.3.10.1
Plugin Custom Fields for GLPI 0.84 : https://forge.indepnet.net/projects/customfields
Plugin Simcard for GLPI 0.84 https://forge.indepnet.net/projects/simcard
Plugin MoreLDAP for GLPI 0.84 https://forge.indepnet.net/projects/moreldap
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)