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 2020-12-29 15:57:06

Haprocky
Member
Registered: 2020-12-18
Posts: 5

Script vbs réinstalle fusion à chaque démarrage

Bonjour je vous contacte car j'arrive dans une impasse.

glpi : version 9.5.3
FusionInventory 9.5.0+1.0
Agent : v2.6

J'ai repris le script vbs du site fusioniventory.org, après la modification des lignes (versionverification, fusionarguments, fusionsetupURL ) le script marche super bien.
Le seul problème c'est qu'il réinstalle Fusion à chaque redémarrage du poste...
Voici les modifications de code que j'ai tenté :
j'ai interverti cette ligne :

Fusion = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion")

avec celle la :

 Fusion = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion")

Car sur mon poste 64 bits je n'ai pas le dossier FusionIventory dans Wow6432Node mais sans grand changement.

Je vous mets les parties du code qui me semble utile en dessous :

Option Explicit
Dim versionverification, fusionarguments, uninstallocsagent, fusionsetupURL
''''' USER SETTINGS '''''
versionverification = "2.6" 
fusionarguments = "/S /acceptlicense /debug=2 /execmode=service /installtasks=Full /server='serverglpi' /no-ssl-check /add-firewall-exception /runnow" 
' Depending on your needs, you can use either HTTP or Windows share
fusionsetupURL = "\\mon_partage\Fusioninventory\fusioninventory-agent_windows-x64_" & versionverification & ".exe" 
'fusionsetupURL = "http://prebuilt.fusioninventory.org/stable/windows-i386/fusioninventory-agent_windows-i386_" & versionverification & ".exe" 
uninstallocsagent = "yes"

Function needFusionInstall ()
    Dim Fusion
    ' install fusion if version is different or if not installed
    needFusionInstall = False 
    On error resume next
    Fusion = WshShell.RegRead("HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion")
    If err.number = 0 Then
      ' Verification on OS 32 Bits
      If Fusion <> versionverification Then
          needFusionInstall = True
      Else
    needFusionInstall = False 
        Return
      End If
    Else
      ' Verification on OS 64 Bits
      On error resume next
      Fusion = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion")
      If err.number = 0 Then
        If Fusion <> versionverification Then
          needFusionInstall = True
        End if
      Else
          needFusionInstall = False
      End If
    End If
End Function

''' MAIN
Dim WshShell
Set WshShell = Wscript.CreateObject("Wscript.shell")

If uninstallocsagent = "yes" Then
    removeOCS()
End If

If needFusionInstall() Then
    If (isHttp(fusionsetupURL)) Then
       SaveWebBinary(fusionsetupURL)
       WshShell.Run "CMD.EXE /C %TEMP%\fusioninventory.exe " & fusionarguments,0,True
    Else
        WshShell.Run "CMD.EXE /C """ & fusionsetupURL & """ " & fusionarguments,0,True
    End If
End If

Last edited by Haprocky (2020-12-29 16:25:22)

Offline

#2 2020-12-29 16:41:33

Haprocky
Member
Registered: 2020-12-18
Posts: 5

Re: Script vbs réinstalle fusion à chaque démarrage

Je pense avoir résolu mon problème,

J'ai bien interverti ces 2 lignes

Fusion = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion")

         Fusion = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion") 

Et j'ai rajouté un - à FusionInventory Agent sur ces 2 lignes et ça marche.

Voilà si ça peut aider quelqu'un.

Offline

Board footer

Powered by FluxBB