• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Script VBS d'installation / mise à jour de FusionInventory-2.2.x
#1
Je vous dépose rapidement un VBS que je viens de déployer chez un de mes clients, inspiré des différents scripts VBS que j'ai pu trouver sur le site et sur la forge.
Il permet d'installer FusionInventory sur les machines sur lesquelles il n'est pas encore installé, et mettre à jour les versions 2.2.x en ajoutant le paramètre "/execmode=none" nécessaire quand la version 2.2 est déjà présente.

Il me reste encore à prévoir le cas où la version 2.1 est présente ; il faut alors arrêter le service, désinstaller la version 2.1, et installer la version 2.2 (si quelqu'un l'écrit avant moi, je suis preneur !).

Le script ci-dessous est sans danger; il ne fait qu'afficher des boîtes de dialogue, à vous de le "réarmer" ;-)
Chez mon client, je l'ai placé comme script de démarrage d'une stratégie "ordinateur" du domaine Active Directory, il fonctionne bien.

Marc

Code:
Option Explicit
On Error Resume Next
Dim AvailableVersion, InstalledVersion, FusionArguments, UpdateArguments, FusionSetupExe, WshShell, OSType, InstallCommand, UpdateCommand, InstalledKey
'
' User settings
'
AvailableVersion = "2.2.7-1"
FusionArguments = "/S /tag=MyTag /server=http://server/glpi/plugins/fusioninventory/ /rpc-trust-localhost /runnow"
UpdateArguments = "/execmode=none"
FusionSetupExe = "\\server\netlogon\fusioninventory\fusioninventory-agent_windows-i386_" & AvailableVersion & ".exe"
'
'DO NOT EDIT BELOW
'
InstallCommand = FusionSetupExe & " " & FusionArguments
UpdateCommand = InstallCommand & " " & UpdateArguments

Set WshShell = Wscript.CreateObject("Wscript.shell")

' Get OS Type, 32 or 64 bit
OsType = WshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")

' Extract installed version from registry
if (OsType = "x86") then
    InstalledKey = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion"
else
    InstalledKey = "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion"
end if

' Install FusionInventory if not yet installed
' Update FusionInventory if available version is different from installed one
InstalledVersion = WshShell.RegRead(InstalledKey)
if InstalledVersion = "" then
    Wscript.Echo "FusionInventory not installed, installing version " & AvailableVersion
    Wscript.Echo "Running command: " & InstallCommand
    'WshShell.Run "CMD.EXE /C """ & InstallCommand & """",0,True
elseif InstalledVersion <> AvailableVersion then
    Wscript.Echo "Installed version: " & InstalledVersion & " -  New version available: " & AvailableVersion
    Wscript.Echo "Running command: " & UpdateCommand
    'WshShell.Run "CMD.EXE /C """ & UpdateCommand & """",0,True
else
    Wscript.Echo "Current version " & InstalledVersion & " is up to date"
end if
GLPI 9.4.4 - Fusioninventory for GLPI 9.4+1.0 - Fusioninventory Agent 2.5.1
  Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)