You are not logged in.
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
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