Installation silencieuse de l’agent FusionInventory sous Windows
FusionInventory est le plugin de la solution Open Source de gestion de parc informatique et de ticketing GLPI . Son objet est de remonter les données d’inventaire des stations de travail, des serveurs, des téléphones Android ou encore des imprimantes réseau, des switchs et des routeurs via SNMP.
Aide de l’agent FusionInventory
Pour obtenir l’aide à partir de la dernière version de l’agent FusionInventory, il vous suffit de taper à partir de la ligne de commande sous Windows :
- fusioninventory-agent_windows-x64_2.5.2.exe /help
- fusioninventory-agent_windows-x64_2.5.2.exe /dumphelp
La page francisée de l’aide, pour cette version n’existe pas. Vous devez vous rapatrier pour la version anglaise !
Installation silencieuse en ligne de commande
Les trois paramètres que vous devez changer pour une exécution en mode service sous Windows sont :
- /httpd-trust : indique les machines autorisées à forcer la remontée d’inventaire de l’agent FusionInventory vers le serveur GLPI
- /server : indique les adresses Web des serveurs GLPI utilisés
- /tag : indique une étiquette utilisée pour l’attribution automatique des entités et des lieux par l’ajout de règles FusionInventory dans GLPI
- /acceptlicense : accepte automatiquement la licence d’utilisation
- /S : mode silencieux
- /execmode : choisit le mode d’exécution
- /installtasks : installe les différents modules de FusionInventory
- /runnow : envoie l’inventaire au moment de l’installation de l’agent
- /httpd : installe le serveur Web permettant de force l’inventaire
- /httpd-ip : définit les adresses sur lesquels écoute le serveur Web
- /httpd-port : définit le port d’acoute du serveur Web
- /httpd-trust : définit la liste des machines autorisées à exécuter l’inventaire
- /logfile : spécifie la taille du fichier de logs en Mo
- /no-ssl-check : pas de vérification du certificat dur serveur Web
- /password : choix du mot de passe
- /user : nom de l’utilisateur autorisé à exécuter l’inventaire
- /scan-homedirs : scanne tous les répertoires des différents utilisateurs
- /scan-profiles : scanne les différents profils
- /tasks : définit les tâches de l’agent qui seront exécutées sur la machine locale
- /add-firewall-exception : ajout de l’exception de pare-feu pour forcer l’inventaire local
- /no-category : permet de refuser certaines catégories d’inventaire (Antivirus, Battery, Controller, CPU, Drive, Environment, Input, LicenseInfo, Local_Group, Local_User, LVM, Memory, Modem, Monitor, Network, Port, Printer, Process, Remote_Mgmt, Slot, Software, Sound, Storage, USB, User, Video, VirtualMachine, )
fusioninventory-agent_windows-x64_2.5.2.exe /acceptlicense /execmode=service /installtasks=Collect,Deploy,Inventory,NetDiscovery,NetInventory /runnow /S /httpd /httpd-ip=0.0.0.0 /httpd-port=62354 /httpd-trust='192.168.1.0/24,fe80::/64,127.0.0.0/8,::1/128' /server='https://195.154.102.202/glpi/plugins/fusioninventory' /logfile=64 /no-ssl-check /password=admin /user=admin /scan-homedirs /scan-profiles /tag='dsfc' /tasks=Collect,Deploy,Inventory,NetDiscovery,NetInventory /add-firewall-exception
La nouvelle installation écrase l’ancienne. Il n’y a donc pas lieu de procéder à une désinstallation préalable !
Installation par script PowerShell
Le script PowerShell ci-dessous exige le passage de 6 paramètres :
- path : emplacement de l’installeur de l’agent (de préférence, un partage réseau)
- ver : version de l’agent (pensez à copier les versions x86 et x64 dans le partage réseau)
- tag : étiquette pour l’attribution automatique du lieu et de l’entité par règles FusionInventory dans GLPI
- computer : le nom de la machine du domaine Active Directory où vous voulez installé l’agent
- httpdtrust : machines autorisées à forcer l’inventaire
- serverglpi : adresses Web du serveur GLPI
Param ([string]$path, [string]$ver, [string]$tag, [string]$computer, [string]$httpdtrust, [string]$serverglpi) Invoke-Command -ComputerName $computer -ScriptBlock{ If([IntPtr]::Size -eq 8) { $platform='x64' } Else { $platform='x86' } If((Get-Service|Select Name|Where Name -eq 'FusionInventory-Agent').Name) { Stop-Service -Name 'FusionInventory-Agent' } $cmd=$using:path+'\fusioninventory-agent_windows-'+$platform+'_'+$using:ver+'.exe' $arg1='/S' $arg2='/acceptlicense' $arg3='/add-firewall-exception' $arg4='/execmode=service' $arg5='/runnow' $arg6="/httpd-trust='" + $using:httpdtrust + "'" $arg7='/scan-homedirs' $arg8='/scan-profiles' $arg9="/server='" + $using:serverglpi + "'" $arg10='/tag='+$using:tag $arg11='/installtype=from-scratch' #"$cmd $arg1 $arg2 $arg3 $arg4 $arg5 $arg6 $arg7 $arg8 $arg9 $arg10 $arg11" & $cmd $arg1 $arg2 $arg3 $arg4 $arg5 $arg6 $arg7 $arg8 $arg9 $arg10 $arg11 If((Get-Service|Select Name|Where Name -eq 'FusionInventory-Agent').Name) { Start-Service -Name 'FusionInventory-Agent' } }
Ainsi, pour l’installation de l’agent 2.5.12 64 bits à l’aide de ce script PowerShell, j’ai tapé en ligne de commandes :
powershell.exe ./install-fusioninventory.ps1 -path 'f:\install' -ver '2.5.12' -tag 'dsfc-dsi' -computer 'ldlcbien' -httpdtrust '127.0.0.1,localhost,192.168.1.0/24' -serverglpi 'httpd://195.154.102.202/glpi/plugins/fusioninventory/'
La base de registre
Tous les paramètres choisis au moment de l’installation sont consignés dans le registre au niveau de la clé HKEY_LOCAL_MACHINE\SOFTWARE\FusionInventory-Agent :